Skip to content

Commit 17e4f7a

Browse files
authored
fix: patch pyarrow and pydantic CVEs, harden release workflow (#104)
* fix(deps): raise pyarrow/pydantic floors past CVEs * chore: tighten release.yml workflow permissions
1 parent 0fca84b commit 17e4f7a

5 files changed

Lines changed: 12 additions & 6 deletions

File tree

.github/workflows/release.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ on:
1111
required: true
1212
type: string
1313

14-
permissions:
15-
contents: write
14+
# Deny all permissions by default; grant only what each job needs.
15+
permissions: {}
1616

1717
jobs:
1818
release:
1919
name: Create GitHub Release
2020
runs-on: ubuntu-latest
21+
permissions:
22+
contents: write # create/update the GitHub Release and read the tagged ref
2123
env:
2224
RELEASE_TAG: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.tag || github.ref_name }}
2325
steps:

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Security
11+
12+
- Raised dependency floors to patched releases: `pyarrow >= 14.0.1` (CVE-2023-47248, RCE via unsafe deserialization) and `pydantic >= 2.4.0` (CVE-2024-3772, regex denial of service).
13+
1014

1115
## [0.3.0] - 2026-06-05
1216

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ requires-python = ">=3.9"
1313
dependencies = [
1414
"urllib3 (>=2.1.0,<3.0.0)",
1515
"python-dateutil (>=2.8.2)",
16-
"pydantic (>=2)",
16+
"pydantic (>=2.4.0)",
1717
"typing-extensions (>=4.7.1)",
1818
]
1919

2020
[project.optional-dependencies]
21-
arrow = ["pyarrow >= 14"]
21+
arrow = ["pyarrow >= 14.0.1"]
2222

2323
[project.urls]
2424
Homepage = "https://www.hotdata.dev"

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
urllib3 >= 2.1.0, < 3.0.0
22
python_dateutil >= 2.8.2
3-
pydantic >= 2
3+
pydantic >= 2.4.0
44
typing-extensions >= 4.7.1

test-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ mypy >= 1.5
77
# pyarrow backs the `arrow` extra. Required here (not just an optional extra) so
88
# the arrow integration scenarios actually run in CI instead of silently
99
# skipping via importorskip. Keep the floor in sync with pyproject's extra.
10-
pyarrow >= 14
10+
pyarrow >= 14.0.1

0 commit comments

Comments
 (0)