Compare commits

..

2 Commits

Author SHA1 Message Date
Iris Clawd
afc8b6f499 chore: regenerate uv.lock for gitpython 3.1.59 2026-09-03 13:26:21 +00:00
Iris Clawd
b18d118246 fix(deps): bump gitpython >=3.1.59 to fix CVE-2026-78676, CVE-2026-78678
gitpython 3.1.58 has 4 known vulnerabilities (PYSEC-2026-3785 through 3788):
- CVE-2026-78676/GHSA-284h-m62q-gf8w: config injection RCE via unsafe
  re-serialization of multi-line git-config values (CVSS 9.8 CRITICAL)
- CVE-2026-78678/GHSA-g5vv-9gxw-82hx: arbitrary file read via incomplete
  denylist in unsafe_git_revision_options (--contents, -S in Repo.blame)
- GHSA-whh4-5q6c-9v3x, GHSA-239g-whfq-7xj9

All fixed in gitpython 3.1.59. Bumps override-dependencies floor and
exclude-newer-package cutoff to 2026-08-11 to admit the release.
2026-09-03 13:23:29 +00:00
3 changed files with 912 additions and 610 deletions

View File

@@ -12,7 +12,7 @@ dependencies = [
"requests>=2.33.0,<3",
"crewai==1.15.18",
"tiktoken>=0.8.0,<0.13",
"beautifulsoup4>=4.14.3", # unstructured 0.24+ requires >=4.14.3 (GHSA-4mvj-m6j5-pmf7)
"beautifulsoup4~=4.13.4",
"python-docx~=1.2.0",
"youtube-transcript-api~=1.2.2",
"pymupdf~=1.26.6",
@@ -77,10 +77,7 @@ hyperbrowser = [
snowflake = [
"cryptography>=43.0.3",
"snowflake-connector-python>=3.12.4",
# <1.11.0 has GHSA-8g6f-qw9x-4q6q (CVE-2026-15736): SQL injection in MERGE
# identifiers / table-creation literals, plus arbitrary local-file read via
# forwarded connection params. Fixed in 1.11.0.
"snowflake-sqlalchemy>=1.11.0",
"snowflake-sqlalchemy>=1.7.3",
]
singlestore = [
"singlestoredb>=1.12.4",
@@ -110,11 +107,12 @@ stagehand = [
"stagehand>=0.4.1",
]
github = [
# <3.1.59 has PYSEC-2026-3785/GHSA-7833-fr7j-v32q,
# PYSEC-2026-3786/GHSA-284h-m62q-gf8w, PYSEC-2026-3787/GHSA-8mcc-hrx5-hvxc,
# and PYSEC-2026-3788/GHSA-5xxx-qhh7-9287. 3.1.60 hardens config escapes,
# diff/actor parsing, and filesystem diffs; force 3.1.60+.
"gitpython>=3.1.60,<4",
# <3.1.58 has GHSA-p538-c434-8v24 (arbitrary file truncation),
# GHSA-3f7w-8rr8-f37f (unguarded git option forwarding),
# GHSA-9rj7-rf2p-w77r, GHSA-4gmw-gg2m-w46p, GHSA-hh9p-6wh2-4mfc,
# GHSA-wvpp-8hx9-p66j and GHSA-jm78-9fvv-mhgr (further unguarded git
# option forwarding / arbitrary file read); force 3.1.58+.
"gitpython>=3.1.58,<4",
"PyGithub==1.59.1",
]
rag = [
@@ -122,10 +120,7 @@ rag = [
"lxml>=6.1.0,<7", # 6.1.0+ required for GHSA-vfmq-68hx-4jfw (XXE in iterparse)
]
xml = [
# <0.24.0 has GHSA-4mvj-m6j5-pmf7 (CVE-2026-71428): SSRF in partition /
# partition_html / partition_md url= fetches. Fixed in 0.24.0, which
# requires Python 3.11+. 0.18.32 is the last 3.10-compatible release.
"unstructured[local-inference, all-docs]>=0.24.0; python_version >= '3.11'",
"unstructured[local-inference, all-docs]>=0.17.2",
# unstructured allows nltk>=3.9.2, but <3.10.3 still has PYSEC-2026-3726
# (symlink file read in IPIPANCorpusReader; 3.10.0-3.10.1) plus later
# 3.10.2 findings. 3.10.3 still has unpatched GHSA-8mgp-746c-j5xp

View File

@@ -172,7 +172,7 @@ info = "Commits must follow Conventional Commits 1.0.0."
[tool.uv]
exclude-newer = "3 days"
# These security fixes are newer than the global supply-chain cutoff.
exclude-newer-package = { msgpack = "2026-06-20T00:00:00Z", pydantic-settings = "2026-06-20T00:00:00Z", langsmith = "2026-06-20T00:00:00Z" }
exclude-newer-package = { msgpack = "2026-06-20T00:00:00Z", pydantic-settings = "2026-06-20T00:00:00Z", langsmith = "2026-06-20T00:00:00Z", gitpython = "2026-08-11T00:00:00Z" }
# composio-core pins rich<14 but textual requires rich>=14.
# onnxruntime 1.24+ dropped Python 3.10 wheels; cap it so qdrant[fastembed] resolves on 3.10.
@@ -203,14 +203,12 @@ exclude-newer-package = { msgpack = "2026-06-20T00:00:00Z", pydantic-settings =
# TagReference); force 3.1.57+.
# gitpython <3.1.58 has GHSA-9rj7-rf2p-w77r, GHSA-4gmw-gg2m-w46p, GHSA-hh9p-6wh2-4mfc, GHSA-wvpp-8hx9-p66j and
# GHSA-jm78-9fvv-mhgr (further unguarded git option forwarding in Repo.init, read-tree and git-config, plus
# arbitrary file read via --pathspec-from-file).
# gitpython <3.1.59 has PYSEC-2026-3785/GHSA-7833-fr7j-v32q (.gitmodules [include] file disclosure),
# PYSEC-2026-3786/GHSA-284h-m62q-gf8w (multi-line git-config re-serialization RCE),
# PYSEC-2026-3787/GHSA-8mcc-hrx5-hvxc (clone --separate-git-dir omitted from unsafe options),
# and PYSEC-2026-3788/GHSA-5xxx-qhh7-9287 (Repo.blame --contents/-S arbitrary file read).
# gitpython 3.1.60 hardens config escape semantics, diff/actor parsing, and
# filesystem diffs; force 3.1.60+. 3.1.60 is older than the global 3-day cutoff,
# so no exclude-newer-package override is needed.
# arbitrary file read via --pathspec-from-file); force 3.1.58+. Its exclude-newer-package cutoff is bumped to
# 2026-08-05 to admit that release.
# gitpython <3.1.59 has CVE-2026-78676/GHSA-284h-m62q-gf8w (config injection RCE via unsafe re-serialization
# of multi-line git-config values, CVSS 9.8), CVE-2026-78678/GHSA-g5vv-9gxw-82hx (arbitrary file read via
# incomplete denylist in unsafe_git_revision_options), GHSA-whh4-5q6c-9v3x, and GHSA-239g-whfq-7xj9;
# force 3.1.59+. Cutoff bumped to 2026-08-11 to admit that release.
# pyasn1 <0.6.4 has GHSA-8ppf-4f7h-5ppj and GHSA-hm4w-wwcw-mr6r; force 0.6.4+.
# urllib3 <2.7.0 has GHSA-qccp-gfcp-xxvc (ProxyManager cross-origin redirect leaks Authorization/Cookie) and GHSA-mf9v-mfxr-j63j (streaming decompression-bomb bypass); force 2.7.0+.
# langsmith <0.8.18 has GHSA-3644-q5cj-c5c7 (public prompt manifest deserialization, SSRF/secret disclosure)
@@ -248,17 +246,6 @@ exclude-newer-package = { msgpack = "2026-06-20T00:00:00Z", pydantic-settings =
# TLS hostnames are not verified, so a network attacker can impersonate the endpoint;
# fixed in 4.7.1. Declared as crewai-tools[snowflake] "snowflake-connector-python>=3.12.4",
# which the lock resolved to 4.6.0.
# snowflake-sqlalchemy <1.11.0 has GHSA-8g6f-qw9x-4q6q (CVE-2026-15736): SQL injection
# in MERGE identifiers / table-creation literals, plus arbitrary local-file read via
# forwarded connection params; force 1.11.0+. 1.11.0 is older than the global 3-day
# cutoff, so no exclude-newer-package override is needed.
# unstructured <0.24.0 has GHSA-4mvj-m6j5-pmf7 (CVE-2026-71428): SSRF in partition /
# partition_html / partition_md url= fetches; force 0.24.0+ on Python 3.11+.
# 0.24.0 dropped Python 3.10 (0.18.32 was the last 3.10 release), so the xml
# extra only pulls unstructured on 3.11+. unstructured 0.24+ also requires
# beautifulsoup4>=4.14.3, so the crewai-tools pin is raised past ~=4.13.4.
# 0.24.0 is older than the global 3-day cutoff, so no exclude-newer-package
# override is needed.
# Keep OpenAI on the SDK range required by CrewAI when transitive dependencies
# loosen or pin their own lower versions.
override-dependencies = [
@@ -274,7 +261,7 @@ override-dependencies = [
"pypdf>=6.16.1,<7",
"uv>=0.11.15,<1",
"python-multipart>=0.0.27,<1",
"gitpython>=3.1.60,<4",
"gitpython>=3.1.59,<4",
"pyasn1>=0.6.4",
"langsmith>=0.8.18,<1",
"authlib>=1.6.12",
@@ -292,8 +279,6 @@ override-dependencies = [
"h2>=4.4.1",
"torch>=2.13.0",
"snowflake-connector-python>=4.7.1",
"snowflake-sqlalchemy>=1.11.0",
"unstructured>=0.24.0; python_version >= '3.11'",
]
[tool.uv.workspace]

1468
uv.lock generated

File diff suppressed because it is too large Load Diff