Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify app exposing NLP.js condition input
-
DeliverySubmit crafted condition expression
-
ExploitInjection reaches Evaluator.walkFunction
-
ExecutionEvaluator executes injected code
-
ImpactLimited code execution in Node context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the host application to pass attacker-controlled input as the 'condition' argument into Evaluator.walkFunction (packages/evaluator/src/evaluator.js) within the Condition Expression Pipeline of NLP.js 4.27.0. The flaw is NOT reachable in a default standalone installation - it is only triggerable when the embedding application exposes the condition-expression evaluation path to untrusted data, and the CVSS vector further requires passive user interaction (UI:P). No patched version is available because the project has not yet responded to issue #1380, so the only mitigation is avoiding untrusted input in condition expressions. |
| Impact | This is a low-priority issue despite the attention-grabbing 'RCE'/'Code Injection' tags and CWE-94 classification. The vendor (VulDB) CVSS 4.0 vector scores only 2.1 with AV:N/AC:L/PR:N/UI:P and uniformly Low impacts (VC:L/VI:L/VA:L), signaling that although the flaw is network-reachable and unauthenticated, passive user interaction (UI:P) is required and the practical impact was judged limited. The exploitation signals are mixed: a public POC exists (VulDB github-poc zip) and exploitation status is 'publicly available exploit code exists', but there is NO CISA KEV listing and NO EPSS score was provided, so there is no evidence of active or widespread exploitation - the POC proves feasibility, not real-world use. A key conflict must be flagged: the CWE-94 code-injection classification and 'RCE' tag imply potentially high impact, yet VulDB rated all impact metrics Low - this discrepancy should be verified against the actual POC, because a Node.js expression evaluator that executes injected code could in some deployments yield far higher impact than the 2.1 score suggests. The dominant mitigating factor is that this is a library function: exploitation depends entirely on whether the embedding application routes untrusted input into the condition evaluator, which is not a default standalone condition. |
| Exploit ScenarioDerived | An application built on AXA NLP.js 4.27.0 feeds user-supplied text into the Condition Expression Pipeline, and an attacker submits a crafted 'condition' argument that is passed to Evaluator.walkFunction, injecting executable code that the evaluator runs. A public POC (poc.zip) demonstrates the injection, so the technique is reproducible; impact is bounded by how the host application exposes and sandboxes the evaluator. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Code injection in AXA Group NLP.js 4.27.0 allows remote attackers to execute arbitrary JavaScript via the Evaluator.walkFunction condition-expression pipeline when an embedding application passes attacker-controlled input into the condition argument. Public exploit code exists, but the flaw is not reachable in a default standalone installation; it requires the host application to expose the condition-expression evaluation path, and the project has not responded to issue #1380, so no vendor-released patch was identified at time of analysis. Although the published CVSS 4.0 score is 2.1 and the RCE/code-injection tags draw attention, practical priority is low for typical deployments because exploitation depends on that application-level exposure.
RemediationAI
No vendor-released patch identified at time of analysis; the project has not responded to issue #1380. Until a fix is published, do not pass untrusted or user-controlled strings into the condition argument of Evaluator.walkFunction, and do not expose the Condition Expression Pipeline to remote input. If the feature is required, restrict access to the invoking endpoint with a network allowlist or authenticated administrative interface, and replace free-form condition strings with a strict allowlist or constrained grammar that cannot express arbitrary JavaScript; the trade-off is reduced flexibility for users. Run the evaluator in a low-privilege isolated process or container with no secrets or sensitive filesystem access, recognizing that sandboxing reduces but does not eliminate code-execution risk. Track https://github.com/axa-group/nlp.js/issues/1380 and https://vuldb.com/vuln/421981 for a patched version.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
NLP.js is an open-source natural language processing library used to build conversational interfaces and text-processing pipelines. The affected code is in packages/evaluator/src/evaluator.js, where Evaluator.walkFunction processes a condition argument in the Condition Expression Pipeline. Because the condition value can reach an evaluation sink, manipulation of that argument results in code injection classified as CWE-94 (Improper Control of Generation of Code). The CPE cpe:2.3:a:axa_group:nlp.js:*:*:*:*:*:*:*:* uses a wildcard version match, and the reported affected release is 4.27.0; the public issue report is https://github.com/axa-group/nlp.js/issues/1380 and a proof-of-concept archive is linked from the VulDB entry https://vuldb.com/vuln/421981. The published CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/E:P) scores 2.1, while our independent CVSS 3.1 assessment (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) treats the code injection as high impact only when the embedding application actually exposes the evaluator path to untrusted input; the flaw is not reachable in a default standalone installation.
Know when Nlp Js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Code injection into a Node evaluator can yield arbitrary code execution (C/I/A:H), but it requires the application to route untrusted input into the condition path, a non-default data flow, hence AC:H.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in AXA Group NLP.js 4.27.0. This impacts the function Evaluator.walkFunction of the file packages/evaluator/src/evaluator.js of the component Condition Expression Pipeline. The manipulation of the argument condition results in code injection. It is possible to launch the attack remotely. The exploit is now public and may be used. The project was informed of the problem early through an issue report but has not responded yet.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-104166
GHSA-qmj5-wpjf-j6fh
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB