Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
tough-cookie-2.5.0-cve-2023-26136-fix — Sicherheitspatch für CVE-2023-26136 in tough-cookie 2.5.0 - Behebung einer Prototyp-Verschmutzungs-Sicherheitslücke mit Abwärtskompatibilität | Kitploit
Tools/GitHubGitHub/uriyahav/tough-cookie-2.5.0-cve-2023-26136-fix
Statische AnalyseSchwachstellenanalyseCode-AnalyseWebsicherheitPapers & ForschungLernen & Bildung
GitHuburiyahav/tough-cookie-2.5.0-cve-2023-26136-fix

tough-cookie-2.5.0-cve-2023-26136-fix

Sicherheitspatch für CVE-2023-26136 in tough-cookie 2.5.0 - Behebung einer Prototyp-Verschmutzungs-Sicherheitslücke mit Abwärtskompatibilität

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 1 JahrNoch nicht geprüft

CVE-2023-26136 Fix für tough-cookie 2.5.0

Missionsübersicht

Dieses Projekt behandelt CVE-2023-26136, eine kritische Prototype-Pollution-Schwachstelle in tough-cookie-Versionen vor 4.1.3. Die Schwachstelle betrifft die Webanwendung der Penguin Software Inc., die [email protected] zur Cookie-Verarbeitung verwendet.

Schwachstellenbeschreibung

CVE-2023-26136 ist eine Prototype-Pollution-Schwachstelle, die auftritt, wenn CookieJar mit rejectPublicSuffixes=false verwendet wird. Das Problem entsteht durch eine fehlerhafte Objektinitialisierung in der Klasse MemoryCookieStore, die es Angreifern ermöglicht, Eigenschaften in Object.prototype durch bösartig gestaltete Cookie-Domains einzuschleusen.

Technische Details

Die Schwachstelle befindet sich in lib/memstore.js, wo Cookies mit einfachen JavaScript-Objekten ({}) gespeichert werden. Da diese Objekte von Object.prototype erben, können Angreifer dies ausnutzen, indem sie Cookies mit Domains wie __proto__, constructor oder prototype setzen, was zu Prototype Pollution führt.

Lösung

Patch-Implementierung

Der Fix ersetzt alle Vorkommen von {} mit Object.create(null) in der Klasse MemoryCookieStore:

root@kitploit:~
// Before (vulnerable)
this.idx = {};

// After (fixed)
this.idx = Object.create(null);

Diese Änderung verhindert Prototype Pollution, indem Objekte ohne Prototyp-Kette erstellt werden, wodurch die Cookie-Speicherung effektiv von unbeabsichtigter Vererbung isoliert wird.

Geänderte Dateien

  • lib/memstore.js: Aktualisierte Objektinitialisierung zur Verwendung von Object.create(null)

Projektstruktur

root@kitploit:~
├── README.md                    # Diese Datei
├── changes.diff                 # Git-kompatible Diff-Datei
├── test-cve-2023-26136.js      # Unit-Test für den Fix
├── tough-cookie/
│   ├── index.js                 # Exploit-Demonstration
│   ├── Original v2.5.0/         # Ursprüngliche anfällige Version
│   ├── v2.5.0-PATCHED/          # Gepatchte Version
│   │   └── tough-cookie-2.5.0.tgz  # Gepackte Version
│   └── package.json
└── mission.txt                  # Ursprüngliche Missionsanforderungen

Installation und Test

1. Gepackte Version (.tgz)

Die gepatchte Version ist als tough-cookie/v2.5.0-PATCHED/tough-cookie-2.5.0.tgz verfügbar.

Zur Installation:

root@kitploit:~
npm install ./tough-cookie/v2.5.0-PATCHED/tough-cookie-2.5.0.tgz

2. Ausführung der Test-Suite

Die originale tough-cookie-Testsuite sollte bestehen. So führen Sie Tests durch:

root@kitploit:~
cd tough-cookie/v2.5.0-PATCHED
npm install
npm test

Hinweis: Das originale tough-cookie 2.5.0 enthält in dieser Distribution kein Testverzeichnis, aber die gepatchte Version bleibt voll kompatibel mit der ursprünglichen API.

3. Unit-Test für den Schwachstellen-Fix

Führen Sie den benutzerdefinierten Unit-Test aus, um den Fix zu überprüfen:

root@kitploit:~
node test-cve-2023-26136.js

Erwartete Ausgabe:

root@kitploit:~
Testing CVE-2023-26136 fix...
✅ CVE-2023-26136 fix verified: No prototype pollution detected
✅ Test passed: The vulnerability has been successfully patched

4. Exploit-Demonstration

Das Projekt enthält eine Exploit-Demonstration in tough-cookie/index.js:

root@kitploit:~
cd tough-cookie
node index.js

Dies testet sowohl die ursprünglich anfällige Version als auch die gepatchte Version und zeigt:

  • EXPLOITED SUCCESSFULLY für die Originalversion
  • EXPLOIT FAILED für die gepatchte Version

Änderungsdokumentation

changes.diff

Die Datei changes.diff enthält einen git-kompatiblen Diff, der wie folgt angewendet werden kann:

root@kitploit:~
git apply changes.diff

Dieser Diff enthält nur die notwendigen Änderungen zur Behebung der Schwachstelle ohne unbeabsichtigte Modifikationen.

Exploit-Details

Der Exploit funktioniert wie folgt:

  1. Erstellen eines CookieJar mit rejectPublicSuffixes: false
  2. Setzen eines bösartigen Cookies mit der Domain __proto__
  3. Dies verschmutzt die Object.prototype-Kette
  4. Neue Objekte erben die verschmutzten Eigenschaften

Mögliche Schäden:

  • Manipulation des Anwendungsverhaltens
  • Umgehung von Sicherheitsmaßnahmen
  • Denial-of-Service
  • Datenkorruption

Node.js-Kompatibilität

✅ Getestet und verifiziert auf Node.js 20 (LTS)

Repository-Informationen

GitHub-Repository: Geforktes tough-cookie-Repository

Git-Tag: v2.5.0-patched-cve-2023-26136-fix

CI/CD-Erfahrung

Verwendete CI/CD-Tools:

  1. GitHub Actions - Expertenniveau

    • Automatisierte Tests und Bereitstellung
    • Sicherheitsscans und Abhängigkeitsverwaltung
    • Multiplattform-Tests
  2. Jenkins - Fortgeschrittenes Niveau

    • Pipeline-Entwicklung und -Wartung
    • Docker-Containerisierung
    • Integration mit verschiedenen Tools
  3. Travis CI - Mittleres Niveau

    • Build-Automatisierung
    • Testausführung
    • Bereitstellungs-Workflows
  4. CircleCI - Mittleres Niveau

    • CI/CD-Pipeline-Konfiguration
    • Docker-Unterstützung
    • Parallele Job-Ausführung
  5. GitLab CI/CD - Fortgeschrittenes Niveau

    • Pipeline-Entwicklung
    • Kubernetes-Bereitstellung
    • Integration von Sicherheitsscans

Zusätzliche Tools:

  • Docker - Expertenniveau (Containerisierung und Orchestrierung)
  • Kubernetes - Fortgeschrittenes Niveau (Bereitstellung und Skalierung)
  • SonarQube - Mittleres Niveau (Codequalitätsanalyse)
  • Snyk - Mittleres Niveau (Sicherheits-Schwachstellenscan)

Referenzen

  • CVE-2023-26136 - NVD
  • tough-cookie GitHub-Repository
  • Prototype Pollution Security Guide

Lizenz

Dieses Projekt behält die originale tough-cookie-Lizenz (BSD-3-Clause) bei und fügt den Sicherheits-Fix hinzu.


Hinweis: Dies ist ein sicherheitsorientierter Patch, der die vollständige Rückwärtskompatibilität bewahrt und gleichzeitig die Schwachstelle CVE-2023-26136 beseitigt.

Tool herunterladen