GitHub Advisoryadvisory · npm
GHSA-87r5-mp6g-5w5j jsonpath has Arbitrary Code Injection via Unsafe Evaluation of JSON Path Expressions
HIGH
Official page ↗
- Aliases
- CVE-2026-1615
- Ecosystem
- npm
- Packages
- jsonpath
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-94
- Reviewed
- 2026-02-12
Affected packages
• npm jsonpath: < 1.3.0 → fixed in 1.3.0
Description
Impact
Arbitrary Code Injection (Remote Code Execution & XSS):
A critical security vulnerability affects all versions of the `jsonpath` package. The library relies on the `static-eval` module to evaluate JSON Path expressions but fails to properly sanitize or sandbox the input.
This allows an attacker to inject arbitrary JavaScript code into the JSON Path expression. When the library evaluates this expression, the malicious code is executed.
• Node.js Environments: This leads to Remote Code Execution (RCE), allowing an attacker to compromise the server.
• Browser Environments: This leads to Cross-Site Scripting (XSS), allowing an attacker to hijack user sessions or exfiltrate data.
Affected Methods:
The vulnerability triggers when untrusted data is passed to any method that evaluates a path, including:
• `jsonpath.query`
• `jsonpath.nodes`
• `jsonpath.paths`
• `jsonpath.value`
• `jsonpath.parent`
• `jsonpath.apply`
Patches
No Patch Available:
Currently, all versions of `jsonpath` are vulnerable. There is no known patched version of this package that resolves the issue while retaining the current architecture.
Recommendation:
Developers are strongly advised to migrate to a secure alternative (such as `jsonpath-plus` or similar libraries that do not use `eval`/`static-eval`) or strictly validate all JSON Path inputs against a known allowlist.
Workarounds
• Strict Input Validation: Ensure that no user-supplied data is ever passed directly to `jsonpath` functions.
• Sanitization: If user input is unavoidable, implement a strict parser to reject any JSON Path expressions containing executable JavaScript syntax (e.g., parentheses `()`, script expressions `script:`, or function calls).
Resources
• CVE-2026-1615
• Vulnerable Code in handlers.js
• Snyk Advisory (Java/WebJars)
• Snyk Advisory (JS)
Related
Alias · CVE (1)
- CVE-2026-1615 Versions of the package jsonpath before 1.3.0 are vulnerable to Arbitrary Code Injection via unsafe evaluation of user-supplied JSON Path… vulnerability
Weakness · CWE (1)
- CWE-94 Improper Control of Generation of Code weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-1615 advisory
- https://github.com/dchester/jsonpath/pull/197 web
- https://github.com/dchester/jsonpath/commit/491e2e01de2ff13f7d95e87eb2be726edbf4225f web
- https://github.com/dchester/jsonpath/commit/b61111f07ac1a8d0f3133b5fc51438ecb76a6c39 web
- https://github.com/dchester/jsonpath package
- https://github.com/dchester/jsonpath/blob/c1dd8ec74034fb0375233abb5fdbec51ac317b4b/lib/handlers.js#L243 web
- https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-15141219 web
- https://security.snyk.io/vuln/SNYK-JS-JSONPATH-13645034 web