CVE-2022-44369

5.5 MEDIUM

📋 TL;DR

CVE-2022-44369 is a null pointer dereference vulnerability in NASM 2.16 development version that can cause denial of service through application crashes. This affects users who process untrusted assembly files with vulnerable NASM versions. The vulnerability is triggered during aout format output generation.

💻 Affected Systems

Products:
  • Netwide Assembler (NASM)
Versions: NASM 2.16 development version only
Operating Systems: All platforms running NASM
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the development version 2.16; stable releases are not affected. Vulnerability is in output/outaout.c module.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete denial of service through application crash when processing malicious assembly files, potentially disrupting build pipelines or automated assembly processes.

🟠

Likely Case

Application crash when processing specially crafted assembly files, requiring manual restart of affected processes.

🟢

If Mitigated

Minimal impact with proper input validation and sandboxing of assembly file processing.

🌐 Internet-Facing: LOW - NASM is typically used as a development tool, not exposed directly to internet services.
🏢 Internal Only: MEDIUM - Could affect build systems, CI/CD pipelines, or development environments processing untrusted assembly code.

🎯 Exploit Status

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

Exploitation requires feeding specially crafted assembly files to NASM. No authentication required as it's a local tool.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: NASM 2.16 with fix applied (development branch update)

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

Restart Required: No

Instructions:

1. Update to latest NASM development version from official repository. 2. Recompile NASM from source. 3. Replace existing NASM binary with patched version.

🔧 Temporary Workarounds

Avoid aout format output

all

Prevent use of vulnerable aout output format by using alternative output formats

nasm -f elf64 input.asm -o output.o
nasm -f win64 input.asm -o output.obj

Input validation

all

Validate assembly files before processing with NASM

🧯 If You Can't Patch

  • Restrict NASM usage to trusted assembly files only
  • Run NASM in isolated containers or sandboxes with limited privileges

🔍 How to Verify

Check if Vulnerable:

Check NASM version: nasm -v. If output shows '2.16' development version, system may be vulnerable.

Check Version:

nasm -v

Verify Fix Applied:

Verify NASM version is updated beyond vulnerable development snapshot. Test with known problematic assembly files.

📡 Detection & Monitoring

Log Indicators:

  • NASM process crashes with segmentation fault
  • Unexpected termination of assembly compilation processes

SIEM Query:

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

🔗 References

📤 Share & Export