Plattform
nodejs
Komponente
lodash
Behoben in
4.18.0
4.18.0
4.18.0
4.18.0
4.18.0
CVE-2026-2950 describes a prototype pollution vulnerability discovered in Lodash, a widely used JavaScript utility library. This flaw allows attackers to delete properties from built-in JavaScript prototypes, potentially disrupting application behavior. The vulnerability affects versions 4.17.23 and earlier, and a fix is available in version 4.18.0.
CVE-2026-2950 betrifft Lodash-Versionen vor 4.17.23 und führt eine Prototype-Pollution-Schwachstelle in den Funktionen .unset und .omit ein. Obwohl die für CVE-2025-13465 implementierte Korrektur darauf abzielte, dieses Problem zu mildern, schützte sie nur vor String-Schlüsseln. Angreifer können diese Prüfung umgehen, indem sie Array-umschlossene Pfadsegmente übergeben. Dies ermöglicht das Löschen von Eigenschaften aus eingebauten Prototypen wie Object.prototype, Number.prototype und String.prototype, wodurch die Stabilität und Sicherheit von Anwendungen, die Lodash verwenden, gefährdet werden. Die Schwere der Schwachstelle wird gemäß CVSS mit 6,5 bewertet. Die Manipulation von Prototypen kann zu unerwartetem Verhalten, Laufzeitfehlern und potenziell zur Ausführung von bösartigem Code führen.
Die Schwachstelle wird ausgenutzt, indem .unset oder .omit einen Pfad bereitgestellt wird, der aus einem Array von Schlüsseln besteht. Dieser Pfad ermöglicht, wenn er falsch verarbeitet wird, die Modifikation oder das Löschen von Eigenschaften auf Objekten, Zahlen oder String-Prototypen. Ein Angreifer könnte beispielsweise die Eigenschaft toString von Object.prototype löschen, was zu Fehlern bei der Konvertierung von Objekten in Strings in der gesamten Anwendung führen würde. Die Ausnutzung ist relativ einfach und erfordert keine besonderen Privilegien, was das Risiko von großflächigen Angriffen erhöht. Der Ausnutzungskontext hängt von der Anwendung ab, die Lodash verwendet, und von der Fähigkeit des Angreifers, die Eingaben für die anfälligen Funktionen zu kontrollieren.
Applications built with Node.js that utilize Lodash, particularly those that accept user-supplied data and pass it directly to .unset or .omit functions, are at significant risk. Projects relying on older versions of Lodash within complex JavaScript ecosystems are also vulnerable, as are developers who have not kept their dependencies up-to-date.
• nodejs:
npm list lodashThis command will list installed Lodash versions. Check if the version is below 4.18.0. • nodejs:
find node_modules -name "lodash.js" -print0 | xargs -0 grep -i "_.unset" -lThis searches for files containing .unset within the nodemodules directory, indicating potential usage of the vulnerable function.
• generic web:
Inspect application logs for unusual errors or exceptions related to prototype properties. Look for patterns suggesting property deletion or modification.
• generic web:
Review application code for instances of .unset and .omit where user-supplied input is used to construct the path segments.
disclosure
Exploit-Status
EPSS
0.06% (17% Perzentil)
CISA SSVC
CVSS-Vektor
Die empfohlene Lösung ist ein Upgrade auf Lodash-Version 4.18.0 oder höher. Diese Version enthält eine Korrektur, die die Prototype-Pollution-Schwachstelle behebt, indem sie alle Schlüsseltypen korrekt validiert, einschließlich solcher, die in Arrays eingeschlossen sind. Wenn ein Upgrade auf die neueste Version nicht sofort möglich ist, wird eine gründliche Überprüfung des Codes empfohlen, der .unset und .omit verwendet, um nach Mustern zu suchen, die anfällig für Exploitation sind. Die Implementierung zusätzlicher Validierungen für die Eingaben dieser Funktionen kann dazu beitragen, das Risiko zu mindern, obwohl dies keine vollständige Lösung ist. Es ist auch entscheidend, Anwendungen auf ungewöhnliches Verhalten zu überwachen.
Actualice la biblioteca lodash a la versión 4.18.0 o superior. Esta versión contiene la corrección para la vulnerabilidad de prototype pollution. Ejecute `npm install lodash@latest` o `yarn add lodash@latest` para actualizar.
Schwachstellenanalysen und kritische Warnungen direkt in deinen Posteingang.
Es ist eine Schwachstelle, die die Modifikation von Eigenschaften von Objektprototypen ermöglicht und alle Instanzen dieses Objekttyps betrifft.
Sie kann zu unerwartetem Verhalten, Laufzeitfehlern und sogar zur Ausführung von bösartigem Code führen.
Führen Sie eine gründliche Code-Überprüfung durch und erwägen Sie, zusätzliche Validierungen für die Eingaben von .unset und .omit zu implementieren.
Es gibt statische Code-Analyse-Tools, die helfen können, die Verwendung anfälliger Funktionen und verdächtiger Code-Muster zu identifizieren.
Halten Sie Ihre Abhängigkeiten auf dem neuesten Stand, führen Sie regelmäßige Sicherheitsüberprüfungen durch und befolgen Sie bewährte Verfahren für die sichere Codierung.
Lade deine Abhängigkeitsdatei hoch und erfahre sofort, ob dich diese und andere CVEs treffen.