CVE-2026-41507: Remote Code Execution (RCE) via String Literal Injection into math-codegen
Impact String literal content passed to cg.parse() is injected verbatim into a new Function() body without sanitization. This allows an attacker to execute arbitrary system commands when user-controlled input reaches the parser. Any application exposing a math evaluation endpoint where user input flows into cg.parse() is vulnerable to full RCE.
Published Apr 17, 2026 · Updated May 12, 2026
Affected packages
math-codegen
- Ecosystem
- npm
- Affected
- < 0.4.3
- Fixed in
- 0.4.3
- Check
npm ls math-codegen
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Impact
String literal content passed to cg.parse() is injected verbatim into a new Function() body without sanitization. This allows an attacker to execute arbitrary system commands when user-controlled input reaches the parser. Any application exposing a math evaluation endpoint where user input flows into cg.parse() is vulnerable to full RCE.
Patches
The vulnerability is addressed by using JSON.stringify() on string literal values in lib/node/ConstantNode.js to ensure they are treated as data rather than code. Users should upgrade to version 0.4.3 or later.
Workarounds
Avoid passing un-sanitized user input to the parser or manually escape string literals in the input.
Credited to hits3134, hits313.
References
- https://github.com/mauriciopoppe/math-codegen/security/advisories/GHSA-p6x5-p4xf-cc4r
- https://github.com/mauriciopoppe/math-codegen/pull/11
- https://github.com/hits3134
- https://nvd.nist.gov/vuln/detail/CVE-2026-41507
- https://github.com/mauriciopoppe/math-codegen/commit/4bb52d3030683362b3559ee8dd91350555a05f6b
- https://github.com/advisories/GHSA-p6x5-p4xf-cc4r
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
