CVE-2023-31722

7.8 HIGH

📋 TL;DR

CVE-2023-31722 is a heap buffer overflow vulnerability in NASM (Netwide Assembler) version 2.16.02rc1 that allows attackers to execute arbitrary code or cause denial of service. This affects systems running vulnerable NASM versions when processing malicious assembly files. Developers and systems using NASM for assembly compilation are primarily at risk.

💻 Affected Systems

Products:
  • NASM (Netwide Assembler)
Versions: 2.16.02rc1 (specifically commit b952891)
Operating Systems: All platforms running NASM
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the specific commit mentioned; other versions may be unaffected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with the privileges of the NASM process, potentially leading to full system compromise.

🟠

Likely Case

Denial of service through application crashes when processing specially crafted assembly files.

🟢

If Mitigated

Limited impact with proper input validation and sandboxing of NASM processes.

🌐 Internet-Facing: LOW - NASM is typically used as a development tool, not directly internet-exposed.
🏢 Internal Only: MEDIUM - Internal development systems and build pipelines using NASM could be targeted.

🎯 Exploit Status

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

Exploitation requires the attacker to supply a malicious assembly file to NASM.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in NASM 2.16.02 and later versions

Vendor Advisory: https://bugzilla.nasm.us/show_bug.cgi?id=3392857

Restart Required: No

Instructions:

1. Download latest NASM from https://www.nasm.us/ 2. Compile and install according to platform instructions 3. Replace existing NASM binary

🔧 Temporary Workarounds

Avoid processing untrusted assembly files

all

Restrict NASM usage to trusted assembly sources only

🧯 If You Can't Patch

  • Sandbox NASM execution with minimal privileges
  • Implement strict input validation for assembly files before processing

🔍 How to Verify

Check if Vulnerable:

Check NASM version with 'nasm -v' and verify if it's 2.16.02rc1 (commit b952891)

Check Version:

nasm -v

Verify Fix Applied:

Verify NASM version is 2.16.02 or later with 'nasm -v'

📡 Detection & Monitoring

Log Indicators:

  • NASM process crashes
  • Memory access violation errors in system logs

Network Indicators:

  • Unusual file transfers to systems running NASM

SIEM Query:

Process:name='nasm' AND EventID=1000 (Application Crash)

🔗 References

📤 Share & Export