Live › vulnerability › CVE-2026-112102
Go to dashboardNLP.js (@nlpjs/evaluator, @nlpjs/nlp 4.27.0) compiles the 'condition' expressions in answers from a loaded model.nlp file with Function() in Node's global scope. A crafted model file runs arbitrary code with the bot process's privileges. The check that runs first treats unknown identifiers such as 'process' as undefined and never rejects them. A public PoC exists. The maintainers have not responded, and no fix is available.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Apps that load a model.nlp file an outsider can alter or supply (uploaded models, shared or downloaded models, writable storage) and use NLP.js 4.27.0 with the NLG manager and the Evaluator service (the @nlpjs/basic plugin registers it). A malicious model gets code execution as the bot process while the bot keeps answering normally. Apps that train and load only their own trusted models, or that never use answer conditions, are at much lower risk.
| Product | Ecosystem | Affected | Fixed in |
|---|---|---|---|
| @nlpjs/nlp | npm | 4.27.0 | – |
| @nlpjs/evaluator | npm | 4.26.1 | – |
condition fields from answers in models you do not generate yourselfEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-112102")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.