Skip to main content

NLP.js EUVDEUVD-2026-104166

| CVE-2026-112102 LOW
Code Injection (CWE-94)
2026-10-19 VulDB GHSA-qmj5-wpjf-j6fh
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify app exposing NLP.js condition input
  2. Delivery
    Submit crafted condition expression
  3. Exploit
    Injection reaches Evaluator.walkFunction
  4. Execution
    Evaluator executes injected code
  5. Impact
    Limited 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

NLP.js 4.27.0

Affected Packages

euvd nlp_js no fix

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

Vendor (VulDB) PRIMARY 2.1 MEDIUM
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
vuln.today AI 8.1 HIGH

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Oct 19, 2026 - 10:23 NVD
MEDIUM LOW
CVSS changed
Oct 19, 2026 - 10:23 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Oct 19, 2026 - 09:45 cve.org
LOW 2.1

DescriptionCVE.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

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Low
niche open-source Node.js NLP/chatbot library, specialized adoption
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy