Platform
nodejs
Component
jszip
Opgelost in
3.7.0
3.7.0
CVE-2021-23413 beschrijft een prototype pollution kwetsbaarheid in de jszip bibliotheek, versie 3.7.0 en eerder. Een aanvaller kan een kwaadaardig ZIP-bestand maken met bestandsnamen die Object prototype eigenschappen zijn (zoals proto of toString). Dit resulteert in een gewijzigd prototype object, wat kan leiden tot onverwacht gedrag en potentiële beveiligingsproblemen. De kwetsbaarheid treft Node.js projecten die jszip gebruiken. Een fix is beschikbaar in versie 3.7.0.
Deze prototype pollution kwetsbaarheid stelt een aanvaller in staat om de prototype keten van JavaScript objecten te manipuleren. Door bestandsnamen in een ZIP-bestand te gebruiken die overeenkomen met prototype eigenschappen, kan de aanvaller eigenschappen aan het Object.prototype toevoegen of overschrijven. Dit kan leiden tot onverwacht gedrag in de applicatie die jszip gebruikt, zoals het wijzigen van de werking van ingebouwde functies of het introduceren van kwetsbaarheden. De impact kan variëren afhankelijk van hoe jszip in de applicatie wordt gebruikt, maar kan in ernstige gevallen leiden tot remote code execution of andere beveiligingsinbreuken. Hoewel er geen directe remote code execution is, kan de manipulatie van prototypes leiden tot onvoorspelbaar gedrag en het openen van deuren voor verdere aanvallen.
Deze kwetsbaarheid is niet direct opgenomen in de CISA KEV catalogus. De EPSS score is waarschijnlijk laag tot medium, aangezien de exploitatie afhankelijk is van het maken van een specifiek ZIP-bestand en de impact afhankelijk is van de manier waarop jszip in de applicatie wordt gebruikt. Er zijn publieke proof-of-concept exploits beschikbaar die de kwetsbaarheid demonstreren. De kwetsbaarheid werd publiekelijk bekendgemaakt op 2021-08-10.
Node.js applications that utilize the jszip library for zip file handling are at risk. This includes web applications, command-line tools, and any other JavaScript environment leveraging jszip. Projects using older versions of jszip, particularly those without robust input validation, are especially vulnerable.
• nodejs / supply-chain:
Get-Process | Where-Object {$_.ProcessName -like '*node*'} | Select-Object Name, Path, CPU• nodejs / supply-chain:
Get-ChildItem -Path Env:NODE_PATH -Recurse -Filter 'jszip*' | Select-Object FullName• generic web: Inspect Node.js application logs for errors related to object property modifications or unexpected behavior after zip file processing.
disclosure
Exploit Status
EPSS
0.14% (34% percentiel)
CVSS-vector
De primaire mitigatie voor CVE-2021-23413 is het upgraden van de jszip bibliotheek naar versie 3.7.0 of hoger. Indien een upgrade direct onverenigbaar is met de bestaande code, overweeg dan een rollback naar een eerdere, veilige versie van jszip (indien beschikbaar) totdat de code kan worden aangepast. Als een upgrade niet direct mogelijk is, kan het implementeren van input validatie op de bestandsnamen in ZIP-bestanden helpen om de kwetsbaarheid te beperken. Controleer de bestandsnamen op verdachte patronen, zoals proto of toString, en weiger bestanden met deze namen. Er zijn geen specifieke Sigma of YARA patronen bekend voor deze kwetsbaarheid, maar algemene detectie van prototype pollution kan nuttig zijn.
Werk de jszip afhankelijkheid bij naar versie 3.7.0 of hoger. Dit corrigeert de denial-of-service kwetsbaarheid veroorzaakt door de manipulatie van het Object prototype bij het maken van zip-bestanden met kwaadaardige bestandsnamen.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
CVE-2021-23413 is a prototype pollution vulnerability in jszip versions before 3.7.0. Attackers can manipulate JavaScript object prototypes by crafting malicious zip files, potentially leading to code execution.
If you are using jszip versions prior to 3.7.0 in your Node.js application, you are potentially affected by this vulnerability. Check your project dependencies to determine your jszip version.
Upgrade to jszip version 3.7.0 or later to remediate this vulnerability. This version includes a fix that prevents prototype pollution.
While no confirmed active exploitation campaigns have been publicly linked to this CVE, prototype pollution vulnerabilities are a known attack vector, and exploitation is possible.
Refer to the jszip GitHub repository for details and updates: https://github.com/jszip/jszip/issues/1823
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.