Skip to main content

Lodash EUVDEUVD-2026-17610

| CVE-2026-4800 CRITICAL
Code Injection (CWE-94)
2026-03-31 openjs GHSA-r5fr-rjxr-66jc
9.8
CVSS 3.1 · NVD
View

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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv5 – Jun 30, 2026

Server-side code injection in Lodash's _.template function (lodash, lodash-es, lodash-amd and lodash.template, versions 4.0.0 to <4.18.0) lets an attacker execute arbitrary JavaScript at template-compilation time when an application passes untrusted input as options.imports key names. This is an incomplete-fix follow-on to CVE-2021-23337/GHSA-35jh-r3h4-6jhm: the original patch validated the variable option but left the imports key path flowing unchecked into the same Function() sink, and assignInWith's for..in merge also pulls in any prototype-polluted keys. Publicly available exploit code exists, but EPSS is only 0.07% (21st percentile) and CISA SSVC rates exploitation as none, reflecting that the dangerous pattern is uncommon in real deployments.

Earlier versions of this analysis (4)
v4 Jun 30, 2026 - 03:51 cvss changed CVSS 9.8

Server-side code injection in Lodash (and the lodash-es, lodash-amd, and lodash.template distributions) versions 4.0.0 through 4.17.x allows attackers to execute arbitrary JavaScript at template compilation time when an application passes untrusted data as options.imports key names to _.template. This is the same Function() constructor sink that CVE-2021-23337 patched for the variable option, but the original fix never validated imports key names; a secondary prototype-pollution amplification exists because assignInWith enumerates inherited properties via for..in. Publicly available exploit code exists, but it is not in CISA KEV and EPSS is very low (0.07%, 21st percentile), indicating no widespread exploitation.

v3 Jun 30, 2026 - 03:50 cvss changed CVSS 9.8

Server-side code injection in Lodash's _.template (versions 4.0.0 through 4.17.x) lets an attacker execute arbitrary code at template-compilation time when an application passes untrusted input as options.imports key names. The flaw is an incomplete fix for CVE-2021-23337: the earlier patch sanitized the variable option but left options.imports keys flowing unvalidated into the same Function() sink, and the assignInWith-based import merge also pulls in any Object.prototype-polluted keys via for..in. Publicly available exploit code exists, but EPSS is only 0.07% and CISA SSVC rates exploitation as 'none', indicating no observed in-the-wild activity despite the 9.8 CVSS.

v2 Jun 30, 2026 - 03:50 cvss changed CVSS 9.8

Code injection in Lodash's _.template (versions 4.0.0 through 4.17.x, fixed in 4.18.0) lets an attacker run arbitrary JavaScript at template-compile time when an application passes untrusted input as options.imports key names, an injection sink that the CVE-2021-23337 fix left unguarded. The same assignInWith merge also copies polluted Object.prototype keys into the Function() constructor, creating a second path that turns any pre-existing prototype pollution into remote code execution. Publicly available exploit code exists (gist by rising-leviathan) but there is no public exploit identified as actively used in the wild; EPSS is very low at 0.07%.

v1 Mar 31, 2026 - 19:47 CVSS 8.1

Remote code execution in Lodash <4.18.0 allows unauthenticated attackers to execute arbitrary JavaScript code during template compilation by injecting malicious key names into options.imports parameter. The vulnerability bypasses the CVE-2021-23337 fix by exploiting an unvalidated code path that flows into the same Function() constructor sink. With CVSS 8.1 (High) and EPSS data not provided, this represents a significant supply chain risk for applications using Lodash's template functionality with untrusted input. No public exploit confirmed at time of analysis, though the technical details in the advisory provide a clear exploitation roadmap.

Affected VersionsENISA

lodash.template 4.0.0 <4.18.0
lodash 4.0.0 <4.18.0
lodash-es 4.0.0 <4.18.0
Lodash-amd 4.0.0 <4.18.0

Affected Packages

npm lodash fix: 4.17.21, 4.18.0
npm lodash-amd fix: 4.18.0
npm lodash-es fix: 4.17.21, 4.18.0
npm lodash-rails fix: 4.17.21
npm lodash-template no fix
npm lodash.template fix: 4.18.0
rubygems lodash fix: 4.17.21
rubygems lodash-es fix: 4.17.21
rubygems lodash-rails fix: 4.17.21
rubygems lodash-template no fix
rubygems lodash.template no fix
euvd lodash fix: 4.18.0
euvd lodash_es fix: 4.18.0
euvd lodash_template fix: 4.18.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 8 packages in npm, rubygems, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Know when Lodash 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

NVD PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

AC:H because exploitation needs the uncommon pattern of untrusted input as imports key names (or pre-existing prototype pollution); PR:N/UI:N as no attacker auth or victim interaction is required, and full RCE yields C/I/A: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:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Red Hat 8.1 HIGH

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

8
Analysis Updated
Jun 30, 2026 - 03:54 vuln.today
v5 - CVSS changed
Analysis Updated
Jun 30, 2026 - 03:51 vuln.today
v4 - CVSS changed
Analysis Updated
Jun 30, 2026 - 03:50 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 30, 2026 - 03:50 vuln.today
v2 - CVSS changed
Severity Changed
Jun 30, 2026 - 03:24 NVD
HIGH CRITICAL
CVSS changed
Jun 30, 2026 - 03:24 NVD
8.1 (HIGH) 9.8 (CRITICAL)
Patch released
Apr 02, 2026 - 14:30 nvd
Patch available
CVE Published
Mar 31, 2026 - 19:25 nvd
HIGH 8.1

DescriptionNVD

Impact:

The fix for CVE-2021-23337 (https://github.com/advisories/GHSA-35jh-r3h4-6jhm) added validation for the variable option in _.template but did not apply the same validation to options.imports key names. Both paths flow into the same Function() constructor sink.

When an application passes untrusted input as options.imports key names, an attacker can inject default-parameter expressions that execute arbitrary code at template compilation time.

Additionally, _.template uses assignInWith to merge imports, which enumerates inherited properties via for..in. If Object.prototype has been polluted by any other vector, the polluted keys are copied into the imports object and passed to Function().

Patches:

Users should upgrade to version 4.18.0.

Workarounds:

Do not pass untrusted input as key names in options.imports. Only use developer-controlled, static key names.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 224 npm packages depend on lodash (119 direct, 110 indirect)
  • 4,398 npm packages depend on lodash-es (1,072 direct, 3,409 indirect)
  • 37 npm packages depend on lodash-template (13 direct, 24 indirect)
  • 257 npm packages depend on lodash.template (82 direct, 176 indirect)

Ecosystem-wide dependent count for version 4.0.0 and other introduced versions.

Executive ViewAI

Why It Matters

Lodash versions 4.0.0-4.17.x contain a code injection vulnerability in the template function enabling remote code execution when untrusted data reaches vulnerable code. Publicly available exploit code exists; however, exploitation likelihood remains low per EPSS scoring and the dangerous attack pattern is uncommon in real deployments. Organizations using affected versions face potential system compromise and should prioritize patching this critical dependency.

Recommended Action

Within 24 hours: identify all systems and applications running Lodash versions 4.0.0-4.17.x. Within 7 days: upgrade to Lodash 4.18.0 or later, prioritizing business-critical systems. Within 30 days: complete testing and confirm all instances are patched.

Business Impact: High
Compensating Controls

Apply vendor patch: Lodash 4.18.0 or later

Threat Intelligence Overview

EPSS Score
0.1%
Top 79% exploitable
Threat Intel
2
1 sources
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment NEWS GHSA Vendor 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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

69
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
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.

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Liberty Linux 9 Fixed

References

Advisories & patches
ADVISORY https://access.redhat.com/errata/RHSA-2026:8483 ADVISORY https://access.redhat.com/errata/RHSA-2026:8484 ADVISORY https://access.redhat.com/errata/RHSA-2026:8490 ADVISORY https://access.redhat.com/errata/RHSA-2026:8491 ADVISORY https://access.redhat.com/errata/RHSA-2026:8493 ADVISORY https://access.redhat.com/errata/RHSA-2026:8498 ADVISORY https://ubuntu.com/security/notices/USN-8411-1 ADVISORY https://vuldb.com/vuln/354499 REF https://access.redhat.com/errata/RHBA-2026:21387 REF https://access.redhat.com/errata/RHSA-2026:10131 REF https://access.redhat.com/errata/RHSA-2026:10175 REF https://access.redhat.com/errata/RHSA-2026:10710 REF https://access.redhat.com/errata/RHSA-2026:10713 REF https://access.redhat.com/errata/RHSA-2026:11454 REF https://access.redhat.com/errata/RHSA-2026:11469 REF https://access.redhat.com/errata/RHSA-2026:11470 REF https://access.redhat.com/errata/RHSA-2026:11471 REF https://access.redhat.com/errata/RHSA-2026:11493 REF https://access.redhat.com/errata/RHSA-2026:11494 REF https://access.redhat.com/errata/RHSA-2026:11495 REF https://access.redhat.com/errata/RHSA-2026:11516 REF https://access.redhat.com/errata/RHSA-2026:12277 REF https://access.redhat.com/errata/RHSA-2026:12279 REF https://access.redhat.com/errata/RHSA-2026:13545 REF https://access.redhat.com/errata/RHSA-2026:13553 REF https://access.redhat.com/errata/RHSA-2026:13571 REF https://access.redhat.com/errata/RHSA-2026:13826 REF https://access.redhat.com/errata/RHSA-2026:14870 REF https://access.redhat.com/errata/RHSA-2026:14871 REF https://access.redhat.com/errata/RHSA-2026:16874 REF https://access.redhat.com/errata/RHSA-2026:17448 REF https://access.redhat.com/errata/RHSA-2026:17468 REF https://access.redhat.com/errata/RHSA-2026:17469 REF https://access.redhat.com/errata/RHSA-2026:17547 REF https://access.redhat.com/errata/RHSA-2026:17549 REF https://access.redhat.com/errata/RHSA-2026:17550 REF https://access.redhat.com/errata/RHSA-2026:17598 REF https://access.redhat.com/errata/RHSA-2026:17789 REF https://access.redhat.com/errata/RHSA-2026:19008 REF https://access.redhat.com/errata/RHSA-2026:19167 REF https://access.redhat.com/errata/RHSA-2026:19409 REF https://access.redhat.com/errata/RHSA-2026:19410 REF https://access.redhat.com/errata/RHSA-2026:19712 REF https://access.redhat.com/errata/RHSA-2026:20041 REF https://access.redhat.com/errata/RHSA-2026:20042 REF https://access.redhat.com/errata/RHSA-2026:20943 REF https://access.redhat.com/errata/RHSA-2026:20946 REF https://access.redhat.com/errata/RHSA-2026:21658 REF https://access.redhat.com/errata/RHSA-2026:22619 REF https://access.redhat.com/errata/RHSA-2026:24331 REF https://access.redhat.com/errata/RHSA-2026:24762 REF https://access.redhat.com/errata/RHSA-2026:24977 REF https://access.redhat.com/errata/RHSA-2026:29795 REF https://access.redhat.com/errata/RHSA-2026:34100 REF https://access.redhat.com/errata/RHSA-2026:34342 REF https://access.redhat.com/errata/RHSA-2026:34608 REF https://access.redhat.com/errata/RHSA-2026:36621 REF https://access.redhat.com/errata/RHSA-2026:36651 REF https://access.redhat.com/errata/RHSA-2026:37186 REF https://access.redhat.com/errata/RHSA-2026:40118 REF https://access.redhat.com/errata/RHSA-2026:40795 REF https://access.redhat.com/errata/RHSA-2026:40945 REF https://access.redhat.com/errata/RHSA-2026:40984 REF https://access.redhat.com/errata/RHSA-2026:41928 REF https://access.redhat.com/errata/RHSA-2026:41941 REF https://access.redhat.com/errata/RHSA-2026:41944 REF https://access.redhat.com/errata/RHSA-2026:42078 REF https://access.redhat.com/errata/RHSA-2026:44235 REF https://access.redhat.com/errata/RHSA-2026:48699 REF https://access.redhat.com/errata/RHSA-2026:54188 REF https://access.redhat.com/errata/RHSA-2026:56789 REF https://access.redhat.com/errata/RHSA-2026:56854 REF https://access.redhat.com/errata/RHSA-2026:56912 REF https://access.redhat.com/errata/RHSA-2026:59833 REF https://access.redhat.com/errata/RHSA-2026:60023 REF https://access.redhat.com/errata/RHSA-2026:9385 REF https://access.redhat.com/errata/RHSA-2026:9742 REF https://access.redhat.com/security/cve/CVE-2026-4800 REF https://bugzilla.redhat.com/show_bug.cgi?id=2453496 REF https://cna.openjsf.org/security-advisories.html REF https://github.com/advisories/GHSA-35jh-r3h4-6jhm REF https://github.com/lodash/lodash/commit/3469357cff396a26c363f8c1b5a91dde28ba4b1c REF https://github.com/lodash/lodash/security/advisories/GHSA-r5fr-rjxr-66jc REF https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-4800.json

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