Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Open-Source-Seal-Security — Behebt die Verwendung des Open-Source-Pakets tough-cookie 2.5.0 - CVE-2023-26136, | Kitploit
Tools/GitHubGitHub/ronmadar/open-source-seal-security
Statische AnalyseSchwachstellenanalyseCode-AnalyseLieferkettensicherheitLernen & Bildung
GitHubronmadar/open-source-seal-security

Open-Source-Seal-Security

Behebt die Verwendung des Open-Source-Pakets tough-cookie 2.5.0 - CVE-2023-26136,

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
25vor 2 JahrenNoch nicht geprüft
Teilen

SEAL SECURITY PROJECT : Aufgabe für Open-Source-Entwickler

Neue Version des Pakets tough-cookie V2.5.0 erstellen, um die kritische Schwachstelle CVE-2023-26136 zu beheben, Projekt geschrieben in Node.js V20

Versionen des Pakets tough-cookie vor 4.1.3 sind anfällig für Prototype Pollution aufgrund unsachgemäßer Handhabung von Cookies bei Verwendung von CookieJar im Modus rejectPublicSuffixes=false. Dieses Problem ergibt sich aus der Art und Weise, wie die Objekte initialisiert werden.

https://nvd.nist.gov/vuln/detail/CVE-2023-26136

Prototype Pollution ist eine Schwachstelle, die JavaScript betrifft. Prototype Pollution bezeichnet die Fähigkeit, Eigenschaften in vorhandene JavaScript-Sprachkonstrukt-Prototypen, wie z. B. Objekte, einzuschleusen. JavaScript erlaubt es, alle Objektattribute zu ändern, einschließlich ihrer magischen Attribute wie proto, constructor und prototype. Ein Angreifer manipuliert diese Attribute, um einen JavaScript-Anwendungsobjekt-Prototyp des Basisobjekts zu überschreiben oder zu verschmutzen, indem er andere Werte einschleust. Eigenschaften auf Object.prototype werden dann von allen JavaScript-Objekten über die Prototypkette geerbt. Wenn dies geschieht, führt es entweder zu einem Denial-of-Service durch Auslösen von JavaScript-Ausnahmen oder es manipuliert den Quellcode der Anwendung, um den vom Angreifer eingeschleusten Codepfad zu erzwingen, was zu Remote Code Execution führt.

Es gibt zwei Hauptwege, wie die Verschmutzung von Prototypen auftritt:

  • Unsicheres rekursives Zusammenführen von Objekten
  • Eigenschaftsdefinition über Pfad

Wichtiger Hinweis: https://github.com/salesforce/tough-cookie/issues/282 https://security.snyk.io/package/npm/tough-cookie/2.5.0

=> Um die Schwachstelle in der MemoryCookieStore-Klasse zu beheben, müssen Sie die putCookie-Methode ändern, um Prototype Pollution zu verhindern, wenn cookie.domain auf proto gesetzt ist.

https://github.com/salesforce/tough-cookie/pull/283

a. Ändern Sie tough_cookie_2.5.0\node_modules\tough-cookie\lib\memstore.js

Alle Vorkommen der Erstellung neuer Objekte in memstore.js wurden von {} Object.create(Object.prototype) auf Object.create(null) geändert, damit wir Objektinstanzen verwenden, die keine Prototyp-Eigenschaft besitzen, die verschmutzt werden kann.

  • Beispiel : console.log(a = Object.create(null)); in Objekt a - Keine Eigenschaften (oder proto)

b. Erstellen Sie eine neue Datei /node_modules/tough-cookie/lib/test-unit.js Verwenden Sie Vanilla-JS, da es im Testordner in der Datei cookie_jar_test.js "Issue #282 - Prototype pollution" zu finden ist.

Befehl: node test-unit.js

c. Erstellen Sie eine neue Datei /node_modules/tough-cookie/lib/testVerifyVulnerable.js Überprüfen, ob das anfällige Verhalten behoben wurde.

Befehl: node testVerifyVulnerable.js

  1. change.diff : https://github.com/ronmadar/Open-Source-Seal-Security/blob/cf768f1932f087c30ebec7fe60c3fca323b4e54b/change.diff

a. Normales Paket tough-cookie V 2.5.0

Befehl: npm install [email protected] && node index.js

b. Komprimiertes Paket tough-cookie V 2.5.0 im tgz-Format mit Änderungen

Befehl: npm install ./tough-cookie-2.5.0-PATCHED.tgz && node index.js

c.

  • Schwachstelle: Die Schwachstelle entsteht durch direktes Modifizieren des Object.prototype durch Hinzufügen einer neuen Eigenschaft newProperty. Dies bedeutet, dass jedes Objekt in der JavaScript-Umgebung diese Eigenschaft erbt, was möglicherweise ihr Verhalten unbeabsichtigt verändert.

Mögliche Schäden -

  • Prototype Pollution: Durch das direkte Hinzufügen von Eigenschaften zu Object.prototype besteht das Risiko, die gesamte Prototypkette zu verschmutzen. Dies kann zu unerwartetem Verhalten in der gesamten Anwendung führen, da jedes Objekt, das die Prototypkette durchläuft, betroffen sein kann.

  • Sicherheitsrisiken: Im Kontext einer Webanwendung kann Prototype Pollution von Angreifern ausgenutzt werden, um Objekte und Eigenschaften zu manipulieren, was möglicherweise zu Sicherheitslücken wie Privilegieneskalation oder Informationslecks führt.

  • Kompatibilitätsprobleme: Das Modifizieren von Kernprototypen wie Object.prototype kann Kompatibilitätsprobleme mit anderen Bibliotheken oder Frameworks verursachen, die auf Standardverhalten angewiesen sind. Dies kann zu Fehlern oder unerwartetem Verhalten bei der Integration oder Aktualisierung von Abhängigkeiten führen. d. Oben geschrieben.

  1. Ein Link zu Ihrem geforkten GitHub-Repository von tough-cookie 2.5.0 https://github.com/ronmadar/tough-cookie

So installieren Sie dieses Projekt

  1. Klonen Sie dieses Projekt
Tool herunterladen