Skip to content

Commit 97deafd

Browse files
committed
fix(hvp-monolith): drop unsolvable numexpr pin, ignore CVE-2023-39631
conda-forge has no numexpr>=2.8.5 build for py3.8 (vcontact2's locked python). Local build solver rejected `numexpr>=2.8.5` with: numexpr 2.8.6/2.8.7/2.9.0 require py3.10+/py3.12 abi python=3.8 has no compatible numexpr>=2.8.5 Revert the pin (vcontact2 0.11.3 + py3.8 still gets numexpr 2.8.4) and add CVE-2023-39631 to .trivyignore with the same py3.8-ceiling justification used for urllib3 and setuptools in the vcontact2 env. Local amd64 build smoke-tests every env (base/viral/dvf/vcontact2/checkm2) and every CLI wrapper; all pass. Final image: 11.94 GB.
1 parent 6530d26 commit 97deafd

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

docker/hvp-monolith/.trivyignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ CVE-2025-47273
4949
# CVE-2026-44431: urllib3 2.2.3 — fixed in 2.7.0; not py3.8-compatible.
5050
# No untrusted-URL fetch in the pipeline. Quarterly review.
5151
CVE-2026-44431
52+
# CVE-2023-39631: numexpr 2.8.4 — RCE via evaluate() with untrusted input.
53+
# Fixed in 2.8.5, but conda-forge has no py3.8 build of numexpr >= 2.8.5
54+
# (2.8.5+ require py>=3.9). vcontact2 doesn't expose user-controlled
55+
# strings to numexpr.evaluate; pandas pulls numexpr as an optional speed-up.
56+
# Quarterly review.
57+
CVE-2023-39631
5258
#
5359
# -----------------------------------------------------------------------------
5460
# jaraco.context (vendored by setuptools)

docker/hvp-monolith/env-vcontact2.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ dependencies:
1111
# vcontact2 0.11.3 uses `np.warnings.filterwarnings(...)` which numpy >=1.24
1212
# removed. Pin numpy below 1.24 to keep the module importable.
1313
- "numpy<1.24"
14-
# numexpr 2.8.4 carries CVE-2023-39631 (langchain RCE via evaluate);
15-
# 2.8.5+ fixes it and still solves under py=3.8 + numpy<1.24.
16-
- "numexpr>=2.8.5"
1714
- diamond=2.1.24
1815
- mcl
1916
- clusterone

0 commit comments

Comments
 (0)