Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. locutus
  4. ›
  5. CVE-2026-29091

CVE-2026-29091: locutus call_user_func_array vulnerable to Remote Code Execution (RCE) due to Code Injection

March 4, 2026 (updated March 6, 2026)

If exploited, this issue allows attackers to execute arbitrary JavaScript code in the Node.js process. It occurs when applications pass untrusted array callbacks to call_user_func_array(), a practice common in JSON-RPC setups and PHP-to-JavaScript porting layers. Since the library fails to properly sanitize inputs, this is considered a supplier defect rather than an integration error.

This flaw has been exploited in practice, but it is not a “drive-by” vulnerability. It only arises when an application serves as a gateway or router using Locutus functions.

Finally, if an attacker can control cb[0] without regex constraints, they could use global or process directly. However, Locutus protects cb[0]. This cb[1] injection is the only way to bypass the intended security controls of the library. It is a “bypass” of the library’s own protection.


References

  • developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
  • github.com/advisories/GHSA-fp25-p6mj-qqg6
  • github.com/locutusjs/locutus
  • github.com/locutusjs/locutus/blob/main/src/php/funchand/call_user_func_array.js
  • github.com/locutusjs/locutus/commit/977a1fb169441e35996a1d2465b512322de500ad
  • github.com/locutusjs/locutus/security/advisories/GHSA-fp25-p6mj-qqg6
  • nvd.nist.gov/vuln/detail/CVE-2026-29091

Code Behaviors & Features

Detect and mitigate CVE-2026-29091 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 3.0.0

Fixed versions

  • 3.0.0

Solution

Upgrade to version 3.0.0 or above.

Impact 8.1 HIGH

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')

Source file

npm/locutus/CVE-2026-29091.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 24 Mar 2026 12:17:37 +0000.