CVE-2026-25087: Apache Arrow C++ use-after-free in IPC file reader

CVE-2026-25087 · Severity: high · CVSS 7 · Published 2026-02-17

Apache Arrow is a development platform for in-memory data processing. A vulnerability in its C++ library could allow a specially crafted data file to cause the application to crash or experience memory corruption. This occurs when the library is configured to use a specific performance-enhancing feature called 'pre-buffering' while reading certain types of data files. While primarily a risk for service availability (denial of service), it could theoretically lead to more complex security issues depending on how the application manages memory.

Technologies: pyarrow (PyPI). Vendors: Apache, PyPI.

Quick answers

Is CVE-2026-25087 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-25087 being exploited in the wild.
How severe is CVE-2026-25087?
High severity, with a CVSS score of 7, published 17 February 2026.
Which products and versions are affected?
Apache Arrow C++ 15.0.0 through 23.0.0; pyarrow (PyPI) >= 15.0.0, < 23.0.1, ECOSYSTEM:introduced=15.0.0,fixed=23.0.1.
Is there a fix for CVE-2026-25087?
Yes. pyarrow (PyPI): upgrade to 23.0.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-25087 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-25087?
Check whether you run Apache Arrow C++ or pyarrow (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • pyarrow (PyPI): upgrade to 23.0.1 or later
    pip install "pyarrow>=23.0.1"

Technical details

A use-after-free vulnerability exists in Apache Arrow C++ versions 15.0.0 through 23.0.0. The flaw is triggered when reading Arrow Inter-Process Communication (IPC) files containing variadic buffers (such as Binary View or String View data) while the 'pre-buffering' feature is enabled via the RecordBatchFileReader::PreBufferMetadata API. Under specific multi-threaded I/O timing conditions, the library may attempt to write a shared_ptr to a dangling pointer. While the attacker does not have direct control over the value written, the resulting memory corruption can lead to a denial of service (crash). This vulnerability specifically affects the C++ implementation; higher-level language bindings like Python (PyArrow), Ruby, and C GLib are not affected as they do not expose the vulnerable API. The issue is resolved in version 23.0.1.

Affected products

  • Apache Arrow C++ 15.0.0 through 23.0.0

Identifiers

  • CVE-2026-25087
  • GHSA-rgxp-2hwp-jwgg
  • PYSEC-2026-113

Timeline

  • 2026-01-26: patched: Fix merged into main branch
  • 2026-02-17: disclosed: Public disclosure and CVE assignment

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.