CVE-2025-47436

9.8 CRITICAL

📋 TL;DR

A heap-based buffer overflow vulnerability in Apache ORC's C++ LZO decompression logic allows attackers to cause memory corruption by providing specially crafted malformed ORC files. This affects all systems using vulnerable versions of the Apache ORC C++ library for processing ORC files. Successful exploitation could lead to arbitrary code execution or denial of service.

💻 Affected Systems

Products:
  • Apache ORC C++ library
Versions: through 1.8.8, 1.9.0 through 1.9.5, 2.0.0 through 2.0.4, 2.1.0 through 2.1.1
Operating Systems: All operating systems running affected ORC versions
Default Config Vulnerable: ⚠️ Yes
Notes: Any application using the ORC C++ library to process ORC files is vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with the privileges of the ORC processing service, potentially leading to full system compromise.

🟠

Likely Case

Denial of service through application crashes or memory corruption leading to instability.

🟢

If Mitigated

Limited impact if proper input validation and sandboxing are implemented, though memory corruption risks remain.

🌐 Internet-Facing: HIGH - Any service accepting ORC files from untrusted sources is vulnerable to remote exploitation.
🏢 Internal Only: MEDIUM - Internal systems processing ORC files from potentially untrusted sources remain at risk.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW - Only requires sending a malformed ORC file to a vulnerable system.

The vulnerability is in file parsing logic, making exploitation straightforward once a proof-of-concept is developed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.9, 1.9.6, 2.0.5, 2.1.2

Vendor Advisory: https://orc.apache.org/security/CVE-2025-47436/

Restart Required: Yes

Instructions:

1. Identify ORC library version. 2. Upgrade to patched version matching your major version. 3. Recompile applications using the library. 4. Restart affected services.

🔧 Temporary Workarounds

Input validation and filtering

all

Implement strict validation of ORC files before processing, rejecting malformed or suspicious files.

Sandbox ORC processing

all

Run ORC file processing in isolated containers or sandboxes with minimal privileges.

🧯 If You Can't Patch

  • Implement network segmentation to isolate systems processing ORC files from critical infrastructure.
  • Deploy application allowlisting to prevent execution of unauthorized code resulting from exploitation.

🔍 How to Verify

Check if Vulnerable:

Check ORC library version using package manager or by examining linked libraries in applications.

Check Version:

ldd /path/to/application | grep orc OR check package manager (e.g., dpkg -l | grep liborc)

Verify Fix Applied:

Verify upgraded version matches patched versions (1.8.9, 1.9.6, 2.0.5, or 2.1.2).

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with segmentation faults
  • Memory corruption errors in system logs
  • Unexpected process termination

Network Indicators:

  • Unusual ORC file transfers to processing systems
  • Network traffic spikes to ORC processing services

SIEM Query:

source="application_logs" AND ("segmentation fault" OR "buffer overflow" OR "memory corruption") AND process="*orc*"

🔗 References

📤 Share & Export