High

Apache Arrow: Potential use-after-free when reading IPC file with pre-buffering

  • Disclosed: 17.02.2026
  • Updated: 11.10.2026 15:17

Use After Free vulnerability in Apache Arrow C++.

This issue affects Apache Arrow C++ from 15.0.0 through 23.0.0. It can be triggered when reading an Arrow IPC file (but not an IPC stream) with pre-buffering enabled, if the IPC file contains data with variadic buffers (such as Binary View and String View data). Depending on the number of variadic buffers in a record batch column and on the temporal sequence of multi-threaded IO, a write to a dangling pointer could occur. The value (a std::shared_ptr<Buffer> object) that is written to the dangling pointer is not under direct control of the attacker.

Pre-buffering is disabled by default but can be enabled using a specific C++ API call (RecordBatchFileReader::PreBufferMetadata). The functionality is not exposed in language bindings (Python, Ruby, C GLib), so these bindings are not vulnerable.

The most likely consequence of this issue would be random crashes or memory corruption when reading specific kinds of IPC files. If the application allows ingesting IPC files from untrusted sources, this could plausibly be exploited for denial of service. Inducing more targeted kinds of misbehavior (such as confidential data extraction from the running process) depends on memory allocation and multi-threaded IO temporal patterns that are unlikely to be easily controlled by an attacker.

Advice for users of Arrow C++:

  1. check whether you enable pre-buffering on the IPC file reader (using RecordBatchFileReader::PreBufferMetadata)

  2. if so, either disable pre-buffering (which may have adverse performance consequences), or switch to Arrow 23.0.1 which is not vulnerable

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) pyarrow >= 15.0.0, < 23.0.1 23.0.1

References

CVSS score 7/10
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H
Weakness (CWE)
CWE-416
Platform
Python (PyPI)
Package
pyarrow
Disclosed
17.02.2026
Updated
11.10.2026 15:17

Sources and licenses

OSV / GitHub Advisory Database - PYSEC-2026-113 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-rgxp-2hwp-jwgg - CC BY 4.0

Vulnerability history: pyarrow

All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.

Total entries
5
First → latest
11.2019 02.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 1
  • High 3
  • Unrated 1

Disclosures per year

  1. 2019: 2
  2. 2020: 0
  3. 2021: 0
  4. 2022: 0
  5. 2023: 1
  6. 2024: 1
  7. 2025: 0
  8. 2026: 1
  1. Apache Arrow: Potential use-after-free when reading IPC file with pre-buffering this entry
    High · 7.0 CVE-2026-25087 >= 15.0.0, < 23.0.1 23.0.1
  2. Critical · 9.8 CVE-2023-47248 >= 0.14.0, < 14.0.1 14.0.1
  3. High · 7.5 CVE-2019-12410 >= 0.12.0, < 0.15.1 0.15.1

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.