Skip to content

Correct arrow CVE-2026-25087 suppression rationale (false positive) - #724

Merged
fintrac-alex-hewson merged 2 commits into
mainfrom
fix/arrow-cve-2026-25087-suppression-reason
Jul 20, 2026
Merged

Correct arrow CVE-2026-25087 suppression rationale (false positive)#724
fintrac-alex-hewson merged 2 commits into
mainfrom
fix/arrow-cve-2026-25087-suppression-reason

Conversation

@fintrac-alex-hewson

Copy link
Copy Markdown
Contributor

Summary

Corrects the rationale on the Apache Arrow CVE-2026-25087 suppression. Comment-only change — the suppression itself is kept.

Why

The suppression said "no fix available at time of writing", which is misleading. In fact it's a false positive against the Java library:

  • CVE-2026-25087 (CVSS 7.0) is a use-after-free in the Apache Arrow C++ IPC reader (pre-buffering + variadic buffers), fixed in Arrow C++ 23.0.1.
  • TRAC depends only on pure-Java arrow modules — arrow-vector, arrow-memory-core/netty(-buffer-patch), arrow-format, arrow-algorithm — with no JNI/C++-bundling modules (arrow-dataset / gandiva / c-data / orc). The vulnerable C++ code isn't present, so we're not exposed (confirmed against the resolved dependency set).

Why keep the suppression (no version bump)

The entry actively matches our arrow 18.3.0 via the CVE's CPE, so removing it would turn platform_compliance red. And a bump can't clear it: arrow-java is now versioned independently of Arrow C++ (latest arrow-java on Maven Central is 19.0.0 — there is no arrow-java 23.0.1), and the CVE's CPE range 15.0.0–23.0.0 still covers all current arrow-java versions.

Updating Arrow itself is tracked separately as future work (it's a large jump, and Arrow is heavily used in the data codecs).

Change

  • dev/compliance/owasp-false-positives.xml — replace the CVE-2026-25087 comment; suppression unchanged.

Test plan

  • platform_compliance still passes (suppression unchanged; only the comment differs)

…ot no-fix)

CVE-2026-25087 is a use-after-free in the Apache Arrow C++ IPC reader (fixed in
Arrow C++ 23.0.1). TRAC depends only on pure-Java arrow modules (arrow-vector,
arrow-memory-*, arrow-format, arrow-algorithm) with no JNI/C++-bundling modules,
so the vulnerable code is not present - a false positive, not an unfixed vuln.

The suppression is kept (it actively matches our arrow 18.3.0 via the CVE CPE),
but a version bump cannot clear it: arrow-java is now versioned independently of
Arrow C++ (latest arrow-java is 19.0.0), and the CVE CPE range (15.0.0-23.0.0)
covers all current arrow-java versions. Only the comment changes.
@fintrac-alex-hewson
fintrac-alex-hewson merged commit f536149 into main Jul 20, 2026
57 checks passed
@fintrac-alex-hewson
fintrac-alex-hewson deleted the fix/arrow-cve-2026-25087-suppression-reason branch July 20, 2026 20:58
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