CVE-2026-44966 Velocity.js: Prototype Pollution in #set path assignment
Attackers can achieve remote code execution or denial of service via prototype pollution in Velocity.js template processing.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-44966?
CVE-2026-44966 is a high-severity code injection vulnerability in shepherdwind velocity.js, published on 26 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Velocity.js is a JavaScript implementation of the Apache Velocity template engine. In 2.1.5 and earlier, a prototype pollution vulnerability was discovered in velocityjs. This issue occurs during the processing of #set directives in Velocity templates. If an application renders a template controlled by an attacker, it is possible to modify Object.prototype, potentially leading to Denial of Service (DoS) or Remote Code Execution (RCE) depending on the server environment.
Weakness: CWE-1321
Which versions are affected by CVE-2026-44966?
2 open source packages ship an affected version, including velocityjs. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
velocityjs npm | All versions to 2.1.5 | None |
velocityjs npm | All versions to 2.1.5 | None |
Products include Shepherdwind Velocity.js.
How do I fix CVE-2026-44966?
No fix has been published for CVE-2026-44966 yet. Limit exposure of the affected software until one is available.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-44966 being exploited?
There is no known exploitation of CVE-2026-44966 in the wild and no public exploit code.
Sources
Also known as GHSA-j658-c2gf-x6pq.