CVE-2026-0821

7.3 HIGH

📋 TL;DR

A heap-based buffer overflow vulnerability in quickjs-ng's js_typed_array_constructor function allows remote attackers to execute arbitrary code or cause denial of service. This affects all systems running quickjs-ng versions up to 0.11.0. The vulnerability is remotely exploitable and has publicly available exploit details.

💻 Affected Systems

Products:
  • quickjs-ng
Versions: All versions up to and including 0.11.0
Operating Systems: All platforms where quickjs-ng runs (Linux, Windows, macOS, etc.)
Default Config Vulnerable: ⚠️ Yes
Notes: Any application or service using quickjs-ng JavaScript engine is affected. This includes embedded systems, web servers, and applications that parse JavaScript with quickjs-ng.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, or ransomware deployment.

🟠

Likely Case

Denial of service through application crashes or memory corruption, potentially leading to service disruption.

🟢

If Mitigated

Application crashes without code execution if exploit fails or memory protections are in place.

🌐 Internet-Facing: HIGH - Vulnerability is remotely exploitable and affects internet-facing services using quickjs-ng.
🏢 Internal Only: MEDIUM - Internal systems are still vulnerable but require network access; lateral movement possible if exploited.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploit details are publicly disclosed in GitHub issues and the patch commit shows the specific manipulation required. Remote exploitation is confirmed possible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after commit c5d80831e51e48a83eab16ea867be87f091783c5

Vendor Advisory: https://github.com/quickjs-ng/quickjs/commit/c5d80831e51e48a83eab16ea867be87f091783c5

Restart Required: Yes

Instructions:

1. Update quickjs-ng to version after commit c5d80831e51e48a83eab16ea867be87f091783c5. 2. Rebuild any applications using quickjs-ng. 3. Restart affected services.

🔧 Temporary Workarounds

Disable JavaScript execution

all

If quickjs-ng is used for non-essential JavaScript processing, disable JavaScript execution entirely.

Configure application to not process JavaScript with quickjs-ng

Network segmentation

linux

Restrict network access to services using quickjs-ng to trusted networks only.

iptables -A INPUT -p tcp --dport [PORT] -s [TRUSTED_NETWORK] -j ACCEPT
iptables -A INPUT -p tcp --dport [PORT] -j DROP

🧯 If You Can't Patch

  • Implement strict input validation and sanitization for all JavaScript input processed by quickjs-ng
  • Deploy memory protection mechanisms like ASLR and DEP to reduce exploit success rate

🔍 How to Verify

Check if Vulnerable:

Check quickjs-ng version: if version ≤ 0.11.0, system is vulnerable. Also check if commit c5d80831e51e48a83eab16ea867be87f091783c5 is not applied.

Check Version:

quickjs --version or check package manager (apt list quickjs-ng, yum list quickjs-ng)

Verify Fix Applied:

Verify quickjs-ng version is > 0.11.0 or that commit c5d80831e51e48a83eab16ea867be87f091783c5 is present in the source code.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with memory access violations
  • Segmentation faults in quickjs-ng processes
  • Unusual JavaScript execution patterns

Network Indicators:

  • Unexpected network connections from quickjs-ng processes
  • Exploit traffic patterns targeting JavaScript processing endpoints

SIEM Query:

source="application.log" AND ("segmentation fault" OR "memory violation" OR "quickjs")

🔗 References

📤 Share & Export