Skip to content

SOLR-18333: Split bundled 2026 jackson-databind VEX entry into per-CVE files with accurate ranges - #227

Merged
epugh merged 1 commit into
apache:mainfrom
epugh:split-jackson-2026-cves
Aug 13, 2026
Merged

SOLR-18333: Split bundled 2026 jackson-databind VEX entry into per-CVE files with accurate ranges#227
epugh merged 1 commit into
apache:mainfrom
epugh:split-jackson-2026-cves

Conversation

@epugh

@epugh epugh commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

The single 2026-07-31-cve-2026-50193.md entry bundled six jackson-databind issues under one range (4.7.0-10.0.0), one jar, and one code_not_reachable justification. But they have genuinely different affected-version ranges (and different rationales), so a single range/jar/justification can't represent them accurately.

Split into one file per CVE, each scoped to exactly the Solr releases whose own standalone jackson-databind is in that CVE's affected range, so the generator emits only in-range product purls:

CVE affected releases basis
CVE-2026-54514 (SSRF, InetSocketAddress) 9.0.0-9.10.1, 10.0.0 not reachable — no untrusted→InetSocketAddress
CVE-2026-54515 (case-insensitive @JsonIgnoreProperties) 9.0.0-9.10.1, 10.0.0 feature not used
CVE-2026-50193 (toString DoS) 9.0.0-9.1.1 not reachable
CVE-2026-59888 (Record @JsonIgnore) 9.3.0-9.10.1, 10.0.0 feature not used
CVE-2026-59889 (@JsonView/@JsonUnwrapped) 9.8.0-9.10.1 feature not used
GHSA-mhm7-754m-9p8w (external-type-id) 9.8.0-9.10.1 feature not used

Disposition stays not_affected throughout. Key corrections vs. the old entry:

  • The SSRF (CVE-2026-54514) does affect Solr's own jackson-databind (2.18.0 in 9.x, 2.20.0 in 10.0.0 — both below the 2.18.8/2.21.4 fixes), only patched in 9.11 (2.22.0). The old entry wrongly claimed Solr's own copy was already patched and only the Hadoop-shaded copy was affected.
  • CVE-2026-50193 collapses to 9.0.0-9.1.1 — only those ship own-jackson < 2.14.0; the old …-10.0.0 bound emitted purls for versions that aren't affected at all.
  • Verified each statement now emits only in-range jackson-databind purls; site builds, vexctl merge passes.

The hadoop-client-runtime-shaded 2.12.7.1 copy is below the fix for the DoS/SSRF but its shaded purl can't be emitted by the generator today (same shaded-purl limitation as the SOLR-17900 avro/dnsjava/nimbus follow-up); each body notes this as a separate item.

… accurate ranges

The single 2026-50193 entry bundled six issues under one range (4.7.0-10.0.0)
and one justification, but they have genuinely different affected-version
ranges and rationales. Split into one file per CVE, each scoped to the Solr
releases whose own standalone jackson-databind is actually in that CVE's range
(so the generator emits only in-range purls):

- CVE-2026-54514 (SSRF)            -> 9.0.0-9.10.1, 10.0.0  (code_not_reachable)
- CVE-2026-54515 (case-insensitive)-> 9.0.0-9.10.1, 10.0.0  (requires_configuration)
- CVE-2026-50193 (toString DoS)    -> 9.0.0-9.1.1           (code_not_reachable)
- CVE-2026-59888 (Record JsonIgnore)-> 9.3.0-9.10.1, 10.0.0 (requires_configuration)
- CVE-2026-59889 (JsonView)        -> 9.8.0-9.10.1          (requires_configuration)
- GHSA-mhm7-754m-9p8w (ext-type-id)-> 9.8.0-9.10.1          (requires_configuration)

Disposition stays not_affected. The prior entry also mis-stated that the SSRF
did not affect Solr's own jackson-databind; it does (2.18.0 in 9.x, 2.20.0 in
10.0.0), only patched in 9.11 (2.22.0) - now corrected. The hadoop-client-runtime
shaded 2.12.7.1 copy cannot be emitted by the generator (same shaded-purl gap as
SOLR-17900) and is noted as a separate follow-up in each body.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@epugh

epugh commented Aug 13, 2026

Copy link
Copy Markdown
Contributor Author

Having multiple CVE's in a single file may end up being a "vex smell"... As the versions are all different..

@epugh epugh changed the title Split bundled 2026 jackson-databind VEX entry into per-CVE files with accurate ranges SOLR-18333: Split bundled 2026 jackson-databind VEX entry into per-CVE files with accurate ranges Aug 13, 2026
@epugh
epugh merged commit 54850f4 into apache:main Aug 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant