CVE-2026-25087
Use-After-Free in Apache Arrow C++ IPC File Reader Causes Crashes
Publication date: 2026-02-17
Last updated on: 2026-03-11
Assigner: Apache Software Foundation
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| apache | arrow | From 15.0.0 (inc) to 23.0.1 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-416 | The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a Use After Free issue in Apache Arrow C++ versions 15.0.0 through 23.0.0. It occurs when reading an Arrow IPC file with pre-buffering enabled, specifically if the file contains data with variadic buffers like Binary View and String View data.
The problem arises because, depending on the number of variadic buffers and the timing of multi-threaded IO, a write operation may target a dangling pointer. This dangling pointer points to a shared pointer object that is not directly controlled by an attacker.
Pre-buffering is disabled by default and only enabled via a specific C++ API call. Language bindings such as Python, Ruby, and C GLib are not vulnerable because they do not expose this functionality.
How can this vulnerability impact me? :
The most likely impact of this vulnerability is random crashes or memory corruption when reading certain IPC files with pre-buffering enabled.
If your application processes IPC files from untrusted sources, this vulnerability could be exploited to cause denial of service by crashing the application.
More targeted attacks, such as extracting confidential data from the running process, are unlikely because they depend on complex memory allocation and multi-threaded IO timing patterns that are difficult for an attacker to control.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability occurs when reading an Arrow IPC file with pre-buffering enabled using the Apache Arrow C++ API. Detection involves checking if your application uses the RecordBatchFileReader::PreBufferMetadata API to enable pre-buffering on IPC file readers.
Since the vulnerability is triggered by specific IPC files containing variadic buffers and pre-buffering enabled, you can detect potential issues by monitoring for random crashes or memory corruption events when processing such files.
There are no specific network or system commands provided in the available information to detect this vulnerability directly.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, first check if your application enables pre-buffering on the IPC file reader using RecordBatchFileReader::PreBufferMetadata.
- If pre-buffering is enabled, disable it to avoid triggering the vulnerability, though this may impact performance.
- Alternatively, upgrade to Apache Arrow C++ version 23.0.1 or later, which contains the fix for this vulnerability.