Skip to content

Commit 1273b93

Browse files
EleanorWhomergify[bot]
authored andcommitted
fix(deps): bump pillow, nltk, and langchain-core for multiple CVEs (#6272)
## Summary Bump minimum version constraints for pillow, nltk, and langchain-core to address multiple CVEs: | Package | Old Constraint | New Constraint | CVE(s) | |---|---|---|---| | `pillow` | `>=12.2.0` | `>=12.3.0` | CVE-2026-42311: PSD arbitrary code execution; CVE-2026-55379: BDF font DoS; CVE-2026-55380: GD image DoS; CVE-2026-54060: font file memory allocation DoS | | `nltk` | `>=3.9.4` | `>=3.10.0` | CVE-2026-54293: path traversal in `nltk.data.load()`; CVE-2026-12243: path traversal via URL-encoded separators | | `langchain-core` | (none) | `>=0.3.85` | CVE-2026-44843: insecure deserialization via overly broad object allowlists | ## Test plan - [x] `uv run pre-commit run --all-files` — all checks passed - [ ] Verify updated package versions resolve in clean install Signed-off-by: Eleanor Hu <ehu@redhat.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> (cherry picked from commit 2189b3e) # Conflicts: # pyproject.toml # uv.lock
1 parent b1352dd commit 1273b93

2 files changed

Lines changed: 957 additions & 65 deletions

File tree

pyproject.toml

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,38 @@ fallback_version = "0.4.6"
88
[tool.uv]
99
required-version = ">=0.7.0"
1010
constraint-dependencies = [
11+
<<<<<<< HEAD
1112
"pyasn1>=0.6.4", # CVE-2026-30922, CVE-2026-59885: DoS via unbounded recursion
1213
"starlette>=1.0.1", # CVE-2026-48710
14+
=======
15+
"aiohttp>=3.14.0", # CVE-2026-34993: CookieJar.load() RCE
16+
"authlib>=1.6.11", # CVE-2026-41425 + 7 more: account takeover, JWE padding oracle, sig bypass
17+
"cryptography>=48.0.1", # CVE-2026-39892: buffer overflow; CVE-2026-34073: DNS constraint bypass
18+
"fonttools>=4.60.2",
19+
"gitpython>=3.1.47", # Command injection via Git options bypass
20+
"h11>=0.16.0",
21+
"idna>=3.15",
22+
"joserfc>=1.6.8",
23+
"langgraph-checkpoint>=4.1.1",
24+
"langgraph-sdk>=0.3.15",
25+
"langsmith>=0.8.18",
26+
"lxml>=6.1.0", # CVE-2026-41066: XML entity expansion with default resolve_entities=True
27+
"msgpack>=1.2.1",
28+
"pillow>=12.3.0", # CVE-2026-42311: PSD RCE; CVE-2026-55379/55380/54060: font/GD DoS
29+
"protobuf>=5.29.6", # CVE-2025-4565 + CVE-2026-0994: parsing vulnerabilities
30+
"pyasn1>=0.6.3", # CVE-2026-30922: DoS via unbounded recursion
31+
"pydantic-settings>=2.14.2",
32+
"python-engineio>=4.13.2",
33+
"python-multipart>=0.0.31", # CVE-2026-40347: header injection; CVE-2026-42561: DoS via oversized headers
34+
"python-socketio>=5.16.2", # CVE-2025-61765: RCE via pickle deserialization
35+
"requests>=2.34.2",
36+
"setuptools<81", # milvus-lite imports pkg_resources; setuptools 81+ removes it
37+
"starlette>=1.3.1", # CVE-2026-48710
38+
"tornado>=6.5.6",
39+
"urllib3>=2.7.0", # CVE-2026-44432: DoS via excessive decompression; CVE-2026-44431: cross-origin redirect header leak
40+
"transformers>=4.57.2,<5.0.0", # CVE-2026-1839 fix only in 5.x; ogx doesn't use Trainer; 5.x breaks HybridCache imports
41+
"werkzeug>=3.1.6", # CVE-2025-66221 + 2 more: safe_join() device name bypass
42+
>>>>>>> 2189b3e4 (fix(deps): bump pillow, nltk, and langchain-core for multiple CVEs (#6272))
1343
]
1444

1545
[project]
@@ -64,7 +94,60 @@ dependencies = [
6494

6595
[project.optional-dependencies]
6696
client = [
97+
<<<<<<< HEAD
6798
"llama-stack-client==0.4.6",
99+
=======
100+
"ogx-client>=1.1.3", # Optional for library-only usage
101+
]
102+
openclient = [
103+
"ogx-open-client>=1.0.2",
104+
]
105+
starter = [
106+
"aiohttp",
107+
"anthropic>=0.105.2",
108+
"autoevals",
109+
"boto3>=1.43.18",
110+
"chardet",
111+
"chromadb-client",
112+
"datasets>=4.0.0",
113+
"docling-slim[service-client]>=2.103.0", # AsyncDoclingServiceClient added in 2.103.0
114+
"einops",
115+
"elasticsearch>=8.16.0,<9.0.0",
116+
"emoji",
117+
"faiss-cpu",
118+
"fire",
119+
"fireworks-ai<=0.17.16",
120+
"google-genai>=1.69.0,<2",
121+
"langdetect",
122+
"markitdown[all]",
123+
"matplotlib",
124+
"nltk>=3.10.0", # CVE-2026-54293/CVE-2026-12243: path traversal in nltk.data.load()
125+
"numpy",
126+
"ollama",
127+
"pandas",
128+
"pillow",
129+
"pgvector>=0.3.0",
130+
"pymilvus[milvus-lite]>=2.4.10",
131+
"pymongo",
132+
"pypdf>=6.13.3",
133+
"pythainlp",
134+
"qdrant-client",
135+
"redis>=8.0.0",
136+
"requests",
137+
"safetensors",
138+
"scikit-learn",
139+
"scipy",
140+
"sentence-transformers>=5.5.1",
141+
"sentencepiece",
142+
"sqlite-vec",
143+
"together>=2",
144+
"tokenizers",
145+
"torch",
146+
"tqdm",
147+
"tree_sitter",
148+
"unstructured-client>=0.25.0",
149+
"weaviate-client>=4.16.5",
150+
>>>>>>> 2189b3e4 (fix(deps): bump pillow, nltk, and langchain-core for multiple CVEs (#6272))
68151
]
69152

70153
[dependency-groups]
@@ -113,14 +196,22 @@ type_checking = [
113196
"lm-format-enforcer",
114197
"mcp",
115198
"ollama",
199+
<<<<<<< HEAD
116200
"llama-stack-client==0.4.6",
201+
=======
202+
"langchain-openai>=1.2.2",
203+
"langchain-core>=0.3.85", # CVE-2026-44843: insecure deserialization
204+
"langgraph",
205+
"ogx-open-client>=1.0.2",
206+
>>>>>>> 2189b3e4 (fix(deps): bump pillow, nltk, and langchain-core for multiple CVEs (#6272))
117207
]
118208
# These are additional dependencies required for running unit tests beyond the
119209
# shared `test` dependency group.
120210
unit = [
121211
"anthropic",
122212
"databricks-sdk",
123213
"sqlite-vec",
214+
<<<<<<< HEAD
124215
"ollama",
125216
"llama-stack-client==0.4.6",
126217
"aiosqlite",
@@ -131,6 +222,29 @@ unit = [
131222
"chardet",
132223
"sqlalchemy",
133224
"sqlalchemy[asyncio]>=2.0.41",
225+
=======
226+
"together",
227+
"unstructured-client>=0.25.0",
228+
]
229+
# These are the core dependencies required for running integration tests. They are shared across all
230+
# providers. If a provider requires additional dependencies, please add them to your environment
231+
# separately. If you are using "uv" to execute your tests, you can use the "--group" flag to specify extra
232+
# dependencies.
233+
test = [
234+
{include-group = "test-common"},
235+
"autoevals",
236+
"chromadb>=1.0.15",
237+
"datasets>=4.0.0",
238+
"elasticsearch>=8.16.0, <9.0.0",
239+
"google-genai>=1.69.0,<2",
240+
"langchain-core>=0.3.85", # CVE-2026-44843: insecure deserialization
241+
"langchain-openai>=1.2.2",
242+
"langgraph",
243+
"milvus-lite>=2.5.0; platform_machine == 'x86_64' or platform_machine == 'aarch64' or platform_machine == 'arm64'",
244+
"pymilvus>=2.6.2",
245+
"qdrant-client",
246+
"requests",
247+
>>>>>>> 2189b3e4 (fix(deps): bump pillow, nltk, and langchain-core for multiple CVEs (#6272))
134248
"torch>=2.6.0",
135249
"torchvision>=0.21.0",
136250
"fairscale",

0 commit comments

Comments
 (0)