CVE-2026-25087

7.0 HIGH

📋 TL;DR

A Use After Free vulnerability in Apache Arrow C++ allows memory corruption when reading Arrow IPC files with pre-buffering enabled. This affects C++ applications using Arrow versions 15.0.0 through 23.0.0 that enable pre-buffering on IPC file readers. Language bindings (Python, Ruby, C GLib) are not vulnerable as the functionality isn't exposed.

💻 Affected Systems

Products:
  • Apache Arrow C++
Versions: 15.0.0 through 23.0.0
Operating Systems: All platforms running Apache Arrow C++
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when pre-buffering is explicitly enabled via RecordBatchFileReader::PreBufferMetadata. Language bindings (Python, Ruby, C GLib) are not affected.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Memory corruption leading to arbitrary code execution or confidential data extraction from the running process, though this requires specific memory allocation patterns unlikely to be attacker-controlled.

🟠

Likely Case

Random crashes or denial of service when reading malicious IPC files from untrusted sources.

🟢

If Mitigated

No impact if pre-buffering is disabled or patched version is used.

🌐 Internet-Facing: MEDIUM - Only affects applications that ingest IPC files from untrusted sources with pre-buffering enabled.
🏢 Internal Only: LOW - Requires specific configuration and IPC file ingestion from untrusted sources.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ⚠️ Yes
Complexity: HIGH

Exploitation requires specific memory allocation patterns and multi-threaded IO timing that are difficult for attackers to control.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 23.0.1

Vendor Advisory: https://lists.apache.org/thread/mpm4ld1qony30tchfpjtk5b11tcyvmwh

Restart Required: Yes

Instructions:

1. Upgrade Apache Arrow C++ to version 23.0.1 or later. 2. Recompile and redeploy affected applications. 3. Restart services using the patched library.

🔧 Temporary Workarounds

Disable pre-buffering

all

Disable pre-buffering on IPC file readers to prevent triggering the vulnerability

Remove or disable calls to RecordBatchFileReader::PreBufferMetadata in your code

🧯 If You Can't Patch

  • Disable pre-buffering on all IPC file readers
  • Validate and sanitize all IPC files from untrusted sources before processing

🔍 How to Verify

Check if Vulnerable:

Check if your code calls RecordBatchFileReader::PreBufferMetadata and verify Arrow C++ version is between 15.0.0 and 23.0.0

Check Version:

Check your build configuration or use: arrow --version (if available) or check package manager

Verify Fix Applied:

Verify Arrow C++ version is 23.0.1 or later and confirm pre-buffering is either disabled or no longer causes crashes with test IPC files

📡 Detection & Monitoring

Log Indicators:

  • Segmentation faults, memory access violations, or crashes when processing IPC files

Network Indicators:

  • Incoming IPC file transfers to vulnerable services

SIEM Query:

Process crashes with arrow-related modules or IPC file processing errors

🔗 References

📤 Share & Export