{"id":"CVE-2026-29091","summary":"Locutus: Remote Code Execution (RCE) in locutus call_user_func_array due to Code Injection","details":"Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Prior to version 3.0.0, a remote code execution (RCE) flaw was discovered in the locutus project, specifically within the call_user_func_array function implementation. The vulnerability allows an attacker to inject arbitrary JavaScript code into the application's runtime environment. This issue stems from an insecure implementation of the call_user_func_array function (and its wrapper call_user_func), which fails to properly validate all components of a callback array before passing them to eval(). This issue has been patched in version 3.0.0.","aliases":["GHSA-fp25-p6mj-qqg6"],"modified":"2026-08-12T03:51:43.694276524Z","published":"2026-03-06T17:48:10.442Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-95"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/29xxx/CVE-2026-29091.json"},"references":[{"type":"WEB","url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-29091.json"},{"type":"ADVISORY","url":"https://access.redhat.com/security/cve/CVE-2026-29091"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/29xxx/CVE-2026-29091.json"},{"type":"ADVISORY","url":"https://github.com/locutusjs/locutus/security/advisories/GHSA-fp25-p6mj-qqg6"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-29091"},{"type":"REPORT","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2445262"},{"type":"FIX","url":"https://github.com/locutusjs/locutus/commit/977a1fb169441e35996a1d2465b512322de500ad"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/locutusjs/locutus","events":[{"introduced":"0"},{"fixed":"e583ac4cd99c28ef6419fe4e6461fa331576b0a2"},{"fixed":"977a1fb169441e35996a1d2465b512322de500ad"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"3.0.0"}],"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:locutus:locutus:*:*:*:*:*:node.js:*:*"}}],"versions":["v2.0.39","v2.0.38","v2.0.37","v2.0.36","v2.0.35","v2.0.34","v2.0.33","v2.0.32","v2.0.30","v2.0.29","v2.0.28","v2.0.27","v2.0.26","v2.0.25","v2.0.24","v2.0.23","v2.0.22","v2.0.21","v2.0.20","v2.0.19","v2.0.17","v2.0.16","v2.0.15","v2.0.14","v2.0.13","v2.0.12","v2.0.11","v2.0.10","v2.0.9","v2.0.8","v2.0.7","v2.0.6","v2.0.5","v2.0.4","v2.0.3","v2.0.2","v2.0.1","v2.0.0","v1.3.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-29091.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}