CVE-2026-112102 in NLP.js
Summary
by MITRE • 10/19/2026
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.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Analysis
by VulDB Data Team • 10/19/2026
The vulnerability identified within AXA Group NLP.js version 4.27.0 represents a critical security flaw located in the Condition Expression Pipeline, specifically affecting the Evaluator.walkFunction implementation found in packages/evaluator/src/evaluator.js. This component is responsible for parsing and evaluating conditional expressions used to determine logical flows within natural language processing tasks. The core technical issue stems from improper input validation and sanitization of the condition argument passed into this function. When a maliciously crafted string is provided as part of the condition expression, the evaluator fails to properly escape or restrict special characters that have syntactic significance in JavaScript execution contexts. This oversight allows an attacker to inject arbitrary code snippets that are subsequently interpreted by the underlying Node.js runtime engine rather than being treated strictly as data for logical evaluation.
This flaw aligns with Common Weakness Enumeration standard CWE-94, which describes Improper Control of Generation of Code or Script, commonly known as injection attacks. The specific mechanism here is a server-side code injection vulnerability where user-supplied input directly influences the execution path without adequate safeguards. Because NLP.js applications often process untrusted text inputs from end-users to generate dynamic responses or trigger actions based on intent recognition, this weakness creates a direct pathway for exploitation. An attacker can construct a payload that bypasses existing logical checks and executes arbitrary JavaScript commands within the context of the running application server.
The operational impact of this vulnerability is severe due to its remote exploitable nature. Since NLP.js services are typically exposed over networks via APIs or web interfaces, an adversary does not need physical access or prior authentication in many deployment scenarios to initiate the attack vector. The ability to launch attacks remotely means that any system running this vulnerable version and accepting external input for condition evaluation is at immediate risk. Successful exploitation can lead to a complete compromise of the host environment, including unauthorized data access, modification of application state, or use of the compromised server as part of a larger botnet. Given that exploit code is already public, automated scanning tools and malicious actors are actively targeting systems with this specific version, significantly increasing the probability of successful intrusion attempts in unpatched environments.
From an offensive security perspective, such vulnerabilities often map to MITRE ATT&CK techniques related to Command and Scripting Interpreter abuse or Injection attacks within the Execution tactic. The attacker leverages the application's own logic processing capabilities against it, turning a feature designed for flexible expression evaluation into a vector for remote code execution. This type of attack is particularly dangerous because it may bypass traditional signature-based detection systems that do not inspect the semantic content of API payloads intended for internal logical processing.
Mitigation strategies must prioritize immediate remediation through software updates. The most effective solution is to upgrade AXA Group NLP.js to a patched version where this input validation flaw has been addressed by developers. If an update is not immediately available, organizations should implement strict allow-listing of inputs for the condition parameter, ensuring that only expected alphanumeric characters and safe operators are permitted while rejecting any syntax indicative of code injection attempts such as backticks, dollar signs used in template literals, or function invocation patterns like parentheses following identifiers. Additionally, deploying a Web Application Firewall with rules tuned to detect JavaScript injection payloads can provide an additional layer of defense by blocking malicious requests before they reach the vulnerable evaluator component. Monitoring logs for unusual execution errors or unexpected process spawns originating from NLP service endpoints is also recommended to detect potential exploitation attempts in real-time.