Node.js Vulnerability: CVE-2023-39333 - WebAssembly Module Code Injection Risk

nodejs Updated 02 Oct 2025

Summary

07/09/2024
N/A
No i
Medium
5.3

UBUNTU-CVE-2023-39333: Maliciously crafted export names in an imported WebAssembly module can inject JavaScript code. Affects nodejs versions 12.22.5~dfsg-5ubuntu1 – 12.22.9~dfsg-1ubuntu3.6. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Node.js is a popular JavaScript runtime built on Chrome's V8 JavaScript engine, enabling developers to build scalable network applications. It supports various features, including asynchronous event-driven programming, making it suitable for I/O-heavy workloads. However, a vulnerability has been identified in Node.js that affects its handling of WebAssembly modules, potentially allowing malicious code injection.

Vulnerability Detail

CVE-2023-39333 is a vulnerability that arises from the handling of maliciously crafted export names in imported WebAssembly modules. This flaw can lead to the injection of JavaScript code that may access data and functions outside the intended scope of the WebAssembly module. The risk is exacerbated when Node.js is executed with the '--experimental-wasm-modules' command line option, making it accessible to any active release line of Node.js. The CVSS score for this vulnerability is 5.3, indicating a medium severity level.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary workaround, avoid using the '--experimental-wasm-modules' command line option when starting Node.js. This will prevent the exploitation of the vulnerability until a proper update can be applied.

Conclusion

CVE-2023-39333 poses a significant risk to Node.js users, particularly those utilizing WebAssembly modules. It is crucial to update to the latest patched versions and avoid using the experimental features until the update is applied. Regular monitoring through tools like Vulert can help maintain security against such vulnerabilities.

See every vulnerability recorded for nodejs →

Share this vulnerability

FAQ

CVE-2023-39333 is a vulnerability in Node.js that allows for code injection through maliciously crafted WebAssembly modules.

You can use Vulert, which monitors open-source vulnerabilities in your software. Visit Vulert Scanner to check your application without needing to sign up.

As a temporary measure, refrain from using the '--experimental-wasm-modules' command line option to mitigate the risk of exploitation.

Exploitation of this vulnerability could allow attackers to execute arbitrary JavaScript code, potentially leading to data breaches or unauthorized access to sensitive information.

No, the vulnerability affects specific versions of Node.js that are run with the '--experimental-wasm-modules' option. Always ensure you are using an updated version.

Related vulnerabilities

Recent vulnerabilities recorded for nodejs.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback