Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
tough-cookie-2.5.0-cve-2023-26136-fix — Patch di sicurezza per CVE-2023-26136 in tough-cookie 2.5.0 - Correzione della vulnerabilità di prototype pollution con retrocompatibilità | Kitploit
Strumenti/GitHubGitHub/uriyahav/tough-cookie-2.5.0-cve-2023-26136-fix
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceSicurezza WebPaper e RicercaApprendimento e Formazione
GitHuburiyahav/tough-cookie-2.5.0-cve-2023-26136-fix

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

Patch di sicurezza per CVE-2023-26136 in tough-cookie 2.5.0 - Correzione della vulnerabilità di prototype pollution con retrocompatibilità

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
1 anno faNon ancora revisionato

Correzione di CVE-2023-26136 per tough-cookie 2.5.0

Panoramica della Missione

Questo progetto affronta CVE-2023-26136, una vulnerabilità critica di prototype pollution in tough-cookie precedente alla versione 4.1.3. La vulnerabilità colpisce l'applicazione web di Penguin Software Inc., che utilizza [email protected] per l'elaborazione dei cookie.

Descrizione della Vulnerabilità

CVE-2023-26136 è una vulnerabilità di prototype pollution che si verifica quando CookieJar viene utilizzato con rejectPublicSuffixes=false. Il problema deriva da un'inizializzazione impropria degli oggetti nella classe MemoryCookieStore, che consente agli aggressori di iniettare proprietà nel Object.prototype tramite domini di cookie appositamente predisposti.

Dettagli Tecnici

La vulnerabilità è presente in lib/memstore.js, dove i cookie vengono memorizzati utilizzando oggetti JavaScript semplici ({}). Poiché questi oggetti ereditano da Object.prototype, gli aggressori possono sfruttare questo comportamento impostando cookie con domini come __proto__, constructor o prototype, provocando una prototype pollution.

Soluzione

Implementazione della Patch

La correzione sostituisce tutte le istanze di {} con Object.create(null) nella classe MemoryCookieStore:

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

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

Questa modifica previene la prototype pollution creando oggetti senza catena di prototipi, isolando di fatto la memorizzazione dei cookie da un'ereditarietà indesiderata.

File Modificati

  • lib/memstore.js: inizializzazione degli oggetti aggiornata per utilizzare Object.create(null)

Struttura del Progetto

root@kitploit:~
├── README.md                    # This file
├── changes.diff                 # Git-compatible diff file
├── test-cve-2023-26136.js      # Unit test for the fix
├── tough-cookie/
│   ├── index.js                 # Exploit demonstration
│   ├── Original v2.5.0/         # Original vulnerable version
│   ├── v2.5.0-PATCHED/          # Patched version
│   │   └── tough-cookie-2.5.0.tgz  # Packed version
│   └── package.json
└── mission.txt                  # Original mission requirements

Installazione e Test

1. Versione Pacchettizzata (.tgz)

La versione corretta è disponibile come tough-cookie/v2.5.0-PATCHED/tough-cookie-2.5.0.tgz.

Per installare:

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

2. Esecuzione della Suite di Test

La suite di test originale di tough-cookie dovrebbe superare tutti i test. Per eseguire i test:

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

Nota: La versione originale di tough-cookie 2.5.0 non include una directory di test in questa distribuzione, ma la versione corretta mantiene la piena compatibilità con l'API originale.

3. Test Unitario per la Correzione della Vulnerabilità

Esegui il test unitario personalizzato per verificare la correzione:

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

Output previsto:

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. Dimostrazione dell'Exploit

Il progetto include una dimostrazione dell'exploit in tough-cookie/index.js:

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

Questo testerà sia la versione originale vulnerabile sia la versione corretta, mostrando:

  • EXPLOITED SUCCESSFULLY per la versione originale
  • EXPLOIT FAILED per la versione corretta

Documentazione delle Modifiche

changes.diff

Il file changes.diff contiene un diff compatibile con git che può essere applicato utilizzando:

root@kitploit:~
git apply changes.diff

Questo diff include solo le modifiche necessarie per correggere la vulnerabilità, senza alcuna alterazione indesiderata.

Dettagli dell'Exploit

L'exploit funziona:

  1. Creando un CookieJar con rejectPublicSuffixes: false
  2. Impostando un cookie dannoso con dominio __proto__
  3. Questo inquina la catena di Object.prototype
  4. I nuovi oggetti ereditano le proprietà inquinate

Danni Potenziali:

  • Manipolazione del comportamento dell'applicazione
  • Bypass della sicurezza
  • Denial of service
  • Corruzione dei dati

Compatibilità con Node.js

✅ Testato e verificato su Node.js 20 (LTS)

Informazioni sul Repository

Repository GitHub: Repository tough-cookie biforcato

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

Esperienza CI/CD

Strumenti di Integrazione Continua Utilizzati:

  1. GitHub Actions - Livello esperto

    • Test e distribuzione automatizzati
    • Scansione della sicurezza e gestione delle dipendenze
    • Test multi-piattaforma
  2. Jenkins - Livello avanzato

    • Sviluppo e manutenzione delle pipeline
    • Containerizzazione Docker
    • Integrazione con vari strumenti
  3. Travis CI - Livello intermedio

    • Automazione della build
    • Esecuzione dei test
    • Flussi di lavoro di distribuzione
  4. CircleCI - Livello intermedio

    • Configurazione delle pipeline CI/CD
    • Supporto Docker
    • Esecuzione di job in parallelo
  5. GitLab CI/CD - Livello avanzato

    • Sviluppo delle pipeline
    • Distribuzione su Kubernetes
    • Integrazione della scansione della sicurezza

Strumenti Aggiuntivi:

  • Docker - Livello esperto (containerizzazione e orchestrazione)
  • Kubernetes - Livello avanzato (distribuzione e scaling)
  • SonarQube - Livello intermedio (analisi della qualità del codice)
  • Snyk - Livello intermedio (scansione delle vulnerabilità di sicurezza)

Riferimenti

  • CVE-2023-26136 - NVD
  • Repository GitHub di tough-cookie
  • Guida alla Sicurezza sulla Prototype Pollution

Licenza

Questo progetto mantiene la licenza originale di tough-cookie (BSD-3-Clause) aggiungendo al contempo la correzione di sicurezza.


Nota: Questa è una patch incentrata sulla sicurezza che mantiene la piena retrocompatibilità eliminando la vulnerabilità CVE-2023-26136.

Scarica lo strumento