Platform
nodejs
Component
pbkdf2
Opgelost in
1.0.1
3.1.3
CVE-2025-6547 is een kritieke kwetsbaarheid in de pbkdf2 module van Node.js, die betrekking heeft op de manier waarop Uint8Array input wordt verwerkt. Deze kwetsbaarheid kan leiden tot onveilige wachtwoord hashing, omdat de module deze input stilzwijgend negeert. De kwetsbaarheid beïnvloedt Node.js versies kleiner dan 3.0.0, en er is een patch beschikbaar in versie 3.1.3.
CVE-2025-6547 treft historische, maar nog steeds ondersteunde Node.js-versies (0.12 - 2.x) binnen de pbkdf2-bibliotheek. Specifiek negeert de pbkdf2-functie stilletjes Uint8Array-invoer. Hoewel de bibliotheek aangeeft Node.js vanaf versie 0.12 te ondersteunen, kan dit onverwachte gedrag de beveiliging van wachtwoorden en andere gevoelige gegevens in gevaar brengen. De CVSS is beoordeeld met een score van 9.5, wat een kritiek risico aangeeft. Dit betekent dat een aanvaller potentieel sleutels kan afleiden van zwakke of voorspelbare wachtwoorden zonder gedetecteerd te worden, omdat invoervalidatie wordt overgeslagen. Het ontbreken van een juiste validatie maakt invoermanipulatie mogelijk, wat kan leiden tot een onjuiste sleutelgeneratie of blootlegging van informatie. Het upgraden naar een gepatchte versie is cruciaal om dit risico te beperken.
Een aanvaller kan deze kwetsbaarheid uitbuiten als hij controle heeft over de invoer die aan de pbkdf2-functie in kwetsbare Node.js-versies wordt doorgegeven. Dit kan gebeuren in webapplicaties die gebruikerswachtwoorden accepteren of in systemen die pbkdf2 gebruiken voor veilige sleutelopslag. De aanval zou stilletjes verlopen, omdat de bibliotheek geen fouten of waarschuwingen zou genereren wanneer de Uint8Array-invoer wordt genegeerd. Dit zou de aanvaller in staat stellen om de afgeleide sleutel te manipuleren zonder gedetecteerd te worden. De kwetsbaarheid is vooral zorgwekkend omdat oudere Node.js-versies nog steeds in veel systemen worden gebruikt, waardoor ze aantrekkelijke doelwitten worden. Het ontbreken van een juiste invoervalidatie is een veelvoorkomende oorzaak van beveiligingskwetsbaarheden, en dit geval is geen uitzondering.
Applications and services relying on Node.js versions 0.12 through 2.x are at significant risk. This includes legacy applications, systems with outdated dependencies, and environments where Node.js has not been regularly updated. Shared hosting environments using older Node.js versions are particularly vulnerable.
• nodejs / server:
node -v | grep -q '0.12\.\|1\.\|2\.' && echo "Potentially vulnerable Node.js version detected!" || echo "Node.js version is safe."• nodejs / server:
npm list pbkdf2 | grep -q '>=3.1.3' || echo "pbkdf2 version is potentially vulnerable!"• nodejs / server:
find /usr/local/lib/node_modules /opt/node/lib/node_modules -name "pbkdf2" -type d -print0 | xargs -0 grep -l 'toBuffer' disclosure
Exploit Status
EPSS
0.03% (9% percentiel)
CISA SSVC
De aanbevolen oplossing is om te upgraden naar Node.js versie 3.1.3 of hoger. Deze versie corrigeert de kwetsbaarheid door Uint8Array-invoer correct te verwerken. Als een upgrade van Node.js niet onmiddellijk mogelijk is, overweeg dan om de pbkdf2-bibliotheek te vervangen door een alternatief dat een robuustere invoervalidatie implementeert. Controleer bovendien de code die pbkdf2 gebruikt om ervoor te zorgen dat Uint8Array-gegevens niet per ongeluk als wachtwoorden worden doorgegeven. Het implementeren van extra validatie in de applicatiecode om ervoor te zorgen dat wachtwoorden als strings of buffers worden doorgegeven, kan een extra beveiligingslaag bieden. Het monitoren van applicatielogboeken op fouten of ongebruikelijk gedrag dat verband houdt met pbkdf2 kan ook helpen bij het detecteren van potentiële exploitatiepogingen.
Actualice la dependencia pbkdf2 a una versión posterior a 3.1.2. Esto solucionará la vulnerabilidad de validación de entrada incorrecta. Consulte el advisory GHSA-v62p-rq8g-8h59 para obtener más detalles.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
Nee, het treft alleen versies 0.12 tot 2.x.
Het is een Node.js-bibliotheek die wordt gebruikt om sleutels veilig af te leiden van wachtwoorden.
Controleer de Node.js-versie die u gebruikt. Als deze lager is dan 3.1.3, is deze kwetsbaar.
Overweeg om pbkdf2 te vervangen door een alternatief of extra validatie in uw code te implementeren.
Het geeft een kritiek risico aan, wat betekent dat de kwetsbaarheid gemakkelijk kan worden uitgebuit en aanzienlijke gevolgen kan hebben.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.