CVE-2022-1238

7.8 HIGH

📋 TL;DR

This vulnerability is a heap buffer overflow in radare2's NE file format parser that allows writing beyond allocated memory boundaries. Attackers could exploit this to execute arbitrary code or crash the application. Users of radare2 versions prior to 5.6.8 are affected.

💻 Affected Systems

Products:
  • radare2
Versions: All versions prior to 5.6.8
Operating Systems: All platforms running radare2 (Linux, Windows, macOS, BSD)
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability triggers when parsing NE (New Executable) format files, commonly used in older Windows executables.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise if radare2 processes untrusted NE files from network sources.

🟠

Likely Case

Application crash (denial of service) when processing malformed NE files, potentially leading to local privilege escalation if radare2 runs with elevated privileges.

🟢

If Mitigated

Limited to denial of service if proper sandboxing and privilege separation are implemented.

🌐 Internet-Facing: MEDIUM - Only exploitable if radare2 processes untrusted NE files from external sources, which is not its primary use case.
🏢 Internal Only: MEDIUM - Could be exploited via malicious NE files in shared repositories or analysis workflows.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires crafting a malicious NE file and convincing a user to analyze it with radare2. No public exploit code is known.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.6.8 and later

Vendor Advisory: https://github.com/radareorg/radare2/commit/c40a4f9862104ede15d0ba05ccbf805923070778

Restart Required: No

Instructions:

1. Update radare2 to version 5.6.8 or later using your package manager. 2. For source installations: git pull from radare2 repository and rebuild. 3. Verify the fix by checking the version with 'r2 -v'.

🔧 Temporary Workarounds

Disable NE file analysis

all

Prevent radare2 from processing NE format files by modifying configuration or using wrapper scripts.

# Create wrapper script that filters NE files
#!/bin/bash
if [[ "$1" == *.ne || "$1" == *.exe ]]; then
  echo "NE file analysis disabled due to CVE-2022-1238"
  exit 1
fi
r2 "$@"

🧯 If You Can't Patch

  • Run radare2 with reduced privileges (non-root user, sandboxed environment)
  • Implement strict file validation before processing with radare2, rejecting untrusted NE files

🔍 How to Verify

Check if Vulnerable:

Run 'r2 -v' and check if version is below 5.6.8. If radare2 crashes when analyzing a test NE file, it may be vulnerable.

Check Version:

r2 -v | head -1

Verify Fix Applied:

Check version with 'r2 -v' confirms 5.6.8 or higher. Test with known problematic NE files to ensure no crashes.

📡 Detection & Monitoring

Log Indicators:

  • Radare2 crash logs with segmentation faults
  • Unexpected process termination when analyzing executable files
  • System logs showing radare2 accessing unexpected memory regions

Network Indicators:

  • Downloads of NE format files followed by radare2 execution
  • Network transfers of suspicious executable files to systems running radare2

SIEM Query:

process_name:"r2" AND (event_type:"crash" OR exit_code:139)

🔗 References

📤 Share & Export