Cloudanix VulnDB

CVE-2026-1615

Critical · 9.8

CVSS

9.8

EPSS

1.2%

Published

Feb 9, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A vulnerable software component can let attackers turn a data search expression into code that runs inside the application.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Remote Code Execution
Component
Library
Class
RCE
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The described flaw is an arbitrary JavaScript code injection vulnerability in the jsonpath package before version 1.3.0. When an application evaluates attacker-controlled JSONPath expressions through methods such as .query, .nodes, .paths, .value, .parent, or .apply, unsafe use of static-eval can allow expression content to escape intended JSONPath evaluation and execute JavaScript. In server-side Node.js applications, this can become remote code execution with the privileges of the Node.js process; in browser-bundled use, it can result in script execution in the user’s browser context. The provided affected-product metadata references Linux kernel versions, which is inconsistent with the package description, so teams should validate the advisory mapping in their vulnerability source before relying on product/fix attribution.

Why it matters to the business

If exposed through an API, search/filter feature, rules engine, data transformation workflow, or browser feature that accepts JSONPath input from users, this vulnerability can allow attackers to take control of application behavior, access sensitive data available to the process, modify data, disrupt service, or pivot to other systems using the application’s permissions. Although it is not listed in CISA KEV, has no reported ransomware association, and has a relatively low EPSS score, the CVSS severity is critical because exploitation requires no authentication if untrusted JSONPath input is reachable over the network. The issue has been public for 182 days, increasing the likelihood that scanners and exploit attempts may emerge even where exploit maturity is currently listed as none.

How an attack unfolds

An attacker first identifies an application feature that accepts JSONPath expressions, commonly as a query parameter, request body field, stored rule, report definition, data extraction template, or client-side expression. The attacker submits a crafted JSONPath expression containing JavaScript constructs that the vulnerable jsonpath evaluation path passes into static-eval. Instead of being treated as a harmless selector over JSON data, the expression is evaluated in a way that permits code execution. In a Node.js service, successful exploitation can execute commands or JavaScript within the application process, potentially leading to data theft, application compromise, credential exposure from environment variables, or further lateral movement depending on runtime permissions. In a browser context, the same unsafe evaluation pattern may execute attacker-supplied script, enabling cross-site scripting against users who process the malicious expression.

How to fix it

Upgrade the jsonpath package to version 1.3.0 or later wherever it is used directly or transitively. Regenerate and redeploy dependency lockfiles and application bundles after upgrading. If immediate upgrade is not possible, do not evaluate JSONPath expressions supplied by untrusted users; replace free-form JSONPath input with allowlisted selectors, predefined queries, or a parser/evaluator designed for untrusted input. Apply strict input validation that rejects JavaScript-like constructs, function constructors, module loading references, and other non-selector syntax, but treat validation only as a temporary mitigation. For browser-bundled applications, rebuild assets with the fixed dependency and invalidate caches/CDNs. Because the supplied product metadata also lists Linux kernel fixed version 5.15.145 and git commit 39f5b4b313b445c980a2a295bed28228c29228ed, security teams should verify whether their vulnerability feed has an incorrect package-to-product mapping; if a kernel finding is separately present, remediate it according to the relevant Linux kernel advisory, but do not treat kernel patching as a fix for the described jsonpath package issue.

How to confirm the fix worked

Confirm exposure by inventorying package manifests and lockfiles for jsonpath versions below 1.3.0 using npm, Yarn, pnpm, software composition analysis, container image scans, and bundled JavaScript artifact review. Useful checks include `npm ls jsonpath`, searching package-lock.json, yarn.lock, pnpm-lock.yaml, and SBOMs for `jsonpath`, and verifying that deployed build artifacts no longer include vulnerable versions. Confirm that application code does not pass user-controlled strings into jsonpath methods such as query, nodes, paths, value, parent, or apply. For runtime validation, test with safe non-destructive JSONPath expressions to verify that untrusted users cannot submit arbitrary expressions and that only approved selectors or predefined queries are accepted. If a scanner reports this issue against Linux kernel assets, validate the finding manually because the advisory description and affected-product metadata conflict.

Typical attack path

  1. Discover an application endpoint or UI feature that accepts JSONPath expressions from users or external systems.
  2. Confirm that the application uses the vulnerable jsonpath package before version 1.3.0 or includes it in a bundled dependency tree.
  3. Submit benign JSONPath probes to determine whether expressions are evaluated server-side, client-side, or stored for later execution.
  4. Send a malicious JSONPath expression containing unsafe JavaScript evaluation constructs.
  5. Achieve code execution in the Node.js process or script execution in a browser context.
  6. Use the execution context to read sensitive data, alter application output, access environment variables, invoke network callbacks, or stage additional activity.
  7. Cover tracks by blending payloads into normal query/filter traffic or stored rule definitions.

How to detect it

To determine whether exploitation already occurred, review HTTP access logs, API gateway logs, WAF logs, application logs, reverse proxy logs, request-body capture systems, and telemetry from services that accept JSONPath or filter/query expressions. Look for JSONPath parameters or request fields containing JavaScript execution primitives, constructor chaining, references to Node.js process objects, module loading, child process execution, environment variable access, encoded payloads, or unusually long/obfuscated selector strings. Correlate suspicious requests with application errors, stack traces referencing jsonpath or static-eval, unexpected outbound network connections from Node.js processes, spawned shell or interpreter processes, access to sensitive environment variables, and new files written by the application user. For browser contexts, review CSP violation reports, frontend error telemetry, and reports of unexpected script execution tied to JSONPath input. No KEV or named threat actor activity is provided, so detection should focus on behavioral evidence and payload patterns rather than campaign-specific infrastructure.

  • static-eval
  • jsonpath
  • constructor.constructor
  • constructor['constructor']
  • Function(
  • eval(
  • process.mainModule
  • process.env
  • global.process
  • require('child_process')
  • require("child_process")
  • child_process.exec
  • child_process.execSync
  • child_process.spawn
  • child_process.fork
  • module.require
  • process.binding
  • Buffer.from(
  • at JSONPath
  • jsonpath.query
  • jsonpath.nodes
  • jsonpath.paths
  • jsonpath.value
  • jsonpath.parent
  • jsonpath.apply
  • /bin/sh
  • /bin/bash
  • cmd.exe
  • powershell.exe
  • curl
  • wget
  • nslookup
  • whoami
  • id
  • uname -a

What your security team should do

  • Prioritize internet-facing, unauthenticated, multi-tenant, automation, reporting, search, filtering, and data-transformation services that accept JSONPath-like input.
  • Upgrade jsonpath to 1.3.0 or later and redeploy affected applications, containers, serverless functions, and browser bundles.
  • Search source code for calls to jsonpath .query, .nodes, .paths, .value, .parent, and .apply where the expression argument can be influenced by users or external data.
  • Temporarily disable or restrict free-form JSONPath input until patched, especially on unauthenticated endpoints.
  • Add dependency policy controls to block jsonpath versions below 1.3.0 in CI/CD and artifact repositories.
  • Review logs for suspicious JSONPath payloads containing JavaScript execution primitives, module loading, process access, or encoded equivalents.
  • Investigate vulnerability-feed inconsistencies before closing findings, because the provided kernel product mapping does not match the described JavaScript package vulnerability.

The record

Versions of the package jsonpath before 1.3.0 are vulnerable to Arbitrary Code Injection via unsafe evaluation of user-supplied JSON Path expressions. The library relies on the static-eval module to process JSON Path input, which is not designed to handle untrusted data safely. An attacker can exploit this vulnerability by supplying a malicious JSON Path expression that, when evaluated, executes arbitrary JavaScript code, leading to Remote Code Execution in Node.js environments or Cross-site Scripting (XSS) in browser contexts. This affects all methods that evaluate JSON Paths against objects, including .query, .nodes, .paths, .value, .parent, and .apply.

Affected packages

Ecosystem Package Introduced Fixed
npm jsonpath 0 1.3.0
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise Module for Package Hub 15 SP7 golang-github-prometheus-alertmanager 0 0.28.1-150100.4.31.1
SUSE:Linux Enterprise Module for Package Hub 15 SP7 golang-github-prometheus-prometheus 0 3.5.0-150100.4.29.1
SUSE:Linux Enterprise Module for Package Hub 15 SP7 golang-github-prometheus-promu 0 0.17.0-150000.3.30.1
SUSE:Linux Enterprise Server 15 SP4-LTSS golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise Server 15 SP5-LTSS golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise Server 15 SP6-LTSS golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Manager Client Tools 15 dracut-saltboot 0 1.1.0-150000.1.65.1
SUSE:Manager Client Tools 15 golang-github-QubitProducts-exporter_exporter 0 0.4.0-150000.1.21.1
SUSE:Manager Client Tools 15 golang-github-boynux-squid_exporter 0 1.13.0-150000.1.12.1
SUSE:Manager Client Tools 15 golang-github-lusitaniae-apache_exporter 0 1.0.10-150000.1.26.1
SUSE:Manager Client Tools 15 golang-github-prometheus-alertmanager 0 0.28.1-150100.4.31.1
SUSE:Manager Client Tools 15 golang-github-prometheus-prometheus 0 3.5.0-150000.3.67.1
SUSE:Manager Client Tools 15 grafana 0 11.6.11-150000.1.90.1
SUSE:Manager Client Tools 15 prometheus-blackbox_exporter 0 0.26.0-150000.1.30.2
SUSE:Manager Client Tools 15 spacecmd 0 5.0.15-150000.3.142.1
SUSE:Manager Client Tools 15 uyuni-tools 0 0.1.38-150000.1.30.1
SUSE:Manager Client Tools for SLE Micro 5 dracut-saltboot 0 1.1.0-150000.1.65.1
SUSE:Manager Client Tools for SLE Micro 5 golang-github-QubitProducts-exporter_exporter 0 0.4.0-150000.1.21.1
SUSE:Manager Client Tools for SLE Micro 5 golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
SUSE:Manager Client Tools for SLE Micro 5 prometheus-blackbox_exporter 0 0.26.0-150000.1.30.2
SUSE:Manager Client Tools for SLE Micro 5 uyuni-tools 0 0.1.38-150000.1.30.1
openSUSE:Leap 15.6 dracut-saltboot 0 1.1.0-150000.1.65.1
openSUSE:Leap 15.6 golang-github-QubitProducts-exporter_exporter 0 0.4.0-150000.1.21.1
openSUSE:Leap 15.6 golang-github-boynux-squid_exporter 0 1.13.0-150000.1.12.1
openSUSE:Leap 15.6 golang-github-lusitaniae-apache_exporter 0 1.0.10-150000.1.26.1
openSUSE:Leap 15.6 golang-github-prometheus-alertmanager 0 0.28.1-150100.4.31.1
openSUSE:Leap 15.6 golang-github-prometheus-node_exporter 0 1.9.1-150100.3.38.1
openSUSE:Leap 15.6 golang-github-prometheus-prometheus 0 3.5.0-150100.4.29.1
openSUSE:Leap 15.6 golang-github-prometheus-promu 0 0.17.0-150000.3.30.1
openSUSE:Leap 15.6 prometheus-blackbox_exporter 0 0.26.0-150000.1.30.2
openSUSE:Leap 15.6 spacecmd 0 5.0.15-150000.3.142.1
openSUSE:Leap 16.0 golang-github-prometheus-prometheus 0 3.5.0-160000.2.1

Related vulnerabilities