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

Source: https://junglewise.ai/threats/cve-2026-25087-apache-arrow-c-use-after-free-in-ipc-file-reader  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-02-17. Updated: 2026-06-05  
License: CC BY 4.0 with a link back

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)](https://junglewise.ai/threats/technologies/pyarrow). Vendors: [Apache](https://junglewise.ai/threats/vendors/apache), [PyPI](https://junglewise.ai/threats/vendors/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

  ```sh
  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

- [https://github.com/apache/arrow/pull/48925](https://github.com/apache/arrow/pull/48925)
- [https://lists.apache.org/thread/mpm4ld1qony30tchfpjtk5b11tcyvmwh](https://lists.apache.org/thread/mpm4ld1qony30tchfpjtk5b11tcyvmwh)
- [http://www.openwall.com/lists/oss-security/2026/02/17/4](http://www.openwall.com/lists/oss-security/2026/02/17/4)
- [https://github.com/pypa/advisory-database/tree/main/vulns/pyarrow/PYSEC-2026-113.yaml](https://github.com/pypa/advisory-database/tree/main/vulns/pyarrow/PYSEC-2026-113.yaml)

## Related threats

- [PYSEC-2024-161 - Deserialization of untrusted data in IPC and Parquet readers in the Apache Arrow R package versions…](https://junglewise.ai/threats/cve-2024-52338-pysec-2024-161-deserialization-of-untrusted-data-in-ipc-and)
- [PyArrow: Arbitrary code execution when loading a malicious data file](https://junglewise.ai/threats/cve-2023-47248-pyarrow-arbitrary-code-execution-when-loading-a-malicious-data)
- [Missing Initialization of Resource in Apache Arrow](https://junglewise.ai/threats/cve-2019-12410-missing-initialization-of-resource-in-apache-arrow)
- [Missing Initialization of Resource in Apache Arrow](https://junglewise.ai/threats/cve-2019-12408-missing-initialization-of-resource-in-apache-arrow)
