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
Open-Source-Seal-Security — Corregge il pacchetto open source che utilizza tough-cookie 2.5.0 - CVE-2023-26136, | Kitploit
Strumenti/GitHubGitHub/ronmadar/open-source-seal-security
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceSicurezza della Supply ChainApprendimento e Formazione
GitHubronmadar/open-source-seal-security

Open-Source-Seal-Security

Corregge il pacchetto open source che utilizza tough-cookie 2.5.0 - CVE-2023-26136,

Vedi Repository

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
2 anni faNon ancora revisionato

SEAL SECURITY PROJECT : Compito Ingegnere Open Source

Crea una nuova versione del pacchetto tough-cookie V2.5.0 ,per correggere la vulnerabilità critica CVE-2023-26136, progetto scritto in Node.js V20

Le versioni del pacchetto tough-cookie precedenti alla 4.1.3 sono vulnerabili a Prototype Pollution a causa della gestione impropria dei Cookie quando si utilizza CookieJar in modalità rejectPublicSuffixes=false. Il problema deriva dal modo in cui gli oggetti vengono inizializzati.

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

Prototype Pollution è una vulnerabilità che colpisce JavaScript. Prototype Pollution si riferisce alla capacità di iniettare proprietà nei prototipi dei costrutti linguistici esistenti di JavaScript, come gli oggetti. JavaScript consente di alterare tutti gli attributi degli Object, inclusi i loro attributi magici come proto, constructor e prototype. Un attaccante manipola questi attributi per sovrascrivere, o inquinare, il prototipo dell'oggetto base di un'applicazione JavaScript iniettando altri valori. Le proprietà su Object.prototype vengono poi ereditate da tutti gli oggetti JavaScript attraverso la catena dei prototipi. Quando ciò accade, porta a un denial of service attivando eccezioni JavaScript, oppure manomette il codice sorgente dell'applicazione per forzare il percorso di codice iniettato dall'attaccante, portando così all'esecuzione di codice remoto.

Ci sono due modi principali in cui avviene l'inquinamento dei prototipi:

  • Merge ricorsivo non sicuro degli Object
  • Definizione della proprietà per percorso

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

=> Per correggere la vulnerabilità nella classe MemoryCookieStore, è necessario modificare il metodo putCookie per prevenire la Prototype Pollution quando cookie.domain è impostato a proto.

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

a. Modifica tough_cookie_2.5.0\node_modules\tough-cookie\lib\memstore.js

Tutte le occorrenze di creazione di nuovi oggetti in memstore.js sono state modificate da {} Object.create(Object.prototype) a Object.create(null) così da utilizzare istanze di oggetti che non hanno una proprietà prototype che possa essere inquinata.

  • Esempio : console.log(a = Object.create(null)); nell'oggetto a - Nessuna proprietà (o __ proto __)

b. Creato un nuovo file, /node_modules/tough-cookie/lib/test-unit.js usato in vanillajs, come riportato nel file cookie_jar_test.js nella cartella tests "Issue #282 - Prototype pollution"

Comando: node test-unit.js

c. Creato un nuovo file, /node_modules/tough-cookie/lib/testVerifyVulnerable.js verifica che il comportamento vulnerabile sia stato corretto.

Comando: node testVerifyVulnerable.js

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

a. Pacchetto standard tough-cookie V 2.5.0

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

b. Pacchetto compresso tough-cookie V 2.5.0 in formato tgz con le modifiche

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

c.

  • Vulnerabilità: la vulnerabilità deriva dalla modifica diretta di Object. prototype tramite l'aggiunta di una nuova proprietà newProperty. Ciò significa che ogni oggetto nell'ambiente JavaScript erediterà questa proprietà, alterandone potenzialmente il comportamento in modo involontario.

Danni Potenziali -

  • Prototype Pollution: Aggiungendo proprietà direttamente a Object. prototype, c'è il rischio di inquinare l'intera catena dei prototipi. Questo può portare a comportamenti imprevisti nell'applicazione, poiché qualsiasi oggetto che attraversa la catena dei prototipi può essere influenzato.

  • Rischi per la Sicurezza: In un contesto di applicazione web, la Prototype Pollution può essere sfruttata dagli attaccanti per manipolare oggetti e proprietà, portando potenzialmente a vulnerabilità di sicurezza come l'escalation dei privilegi, la fuga di informazioni.

  • Problemi di Compatibilità: Modificare prototipi core come Object. prototype può introdurre problemi di compatibilità con altre librerie o framework che si basano sul comportamento standard. Ciò può causare errori o comportamenti imprevisti durante l'integrazione o l'aggiornamento delle dipendenze. d. scritto sopra.

  1. Un link al tuo repository GitHub forkato di tough-cookie 2.5.0 https://github.com/ronmadar/tough-cookie

Come installare questo progetto

  1. clona questo progetto
Scarica lo strumento