Platform
nodejs
Component
form-data
Opgelost in
2.5.5
3.0.1
4.0.1
2.5.4
CVE-2025-7783 is een kwetsbaarheid in de form-data library waarbij Math.random() wordt gebruikt om grenswaarden te selecteren voor multipart form-encoded data. Dit kan leiden tot een beveiligingsprobleem als een aanvaller andere waarden geproduceerd door Math.random() kan observeren en een veld van een verzoek kan controleren. Omdat de waarden van Math.random() pseudo-willekeurig en voorspelbaar zijn, kan een aanvaller de toestand van de PRNG bepalen en toekomstige waarden voorspellen. Deze kwetsbaarheid treft versies vóór 2.5.4 van form-data. De kwetsbaarheid is verholpen in versie 2.5.4.
De CVE-2025-7783 kwetsbaarheid in de 'form-data' bibliotheek komt voort uit het gebruik van Math.random() om de grens (boundary) te genereren voor multipart form-encoded data. Als een aanvaller andere waarden die door Math.random() binnen de doelapplicatie worden gegenereerd kan observeren en tegelijkertijd een veld van een verzoek kan controleren dat met 'form-data' wordt gemaakt, ontstaat er een aanzienlijk beveiligingsrisico. Omdat de waarden van Math.random() pseudo-willekeurig en voorspelbaar zijn (zoals gedetailleerd beschreven in https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f), kan een aanvaller die een paar opeenvolgende waarden observeert, mogelijk de grens voorspellen die in latere verzoeken wordt gebruikt. Dit zou manipulatie van het multipart verzoek mogelijk maken, wat mogelijk leidt tot code-injectie of data-wijziging.
Het exploiteren van deze kwetsbaarheid vereist een diepgaand begrip van de interne werking van de applicatie en het vermogen om HTTP-verzoeken te observeren en te manipuleren. De aanvaller moet in staat zijn om een veld in het multipart verzoek te beïnvloeden en tegelijkertijd de waarden die door Math.random() worden gegenereerd te observeren om de grens te voorspellen. Het succes van de exploitatie hangt af van het vermogen van de aanvaller om de observaties van Math.random() te correleren met de grens die in het verzoek wordt gebruikt. De complexiteit van de exploitatie varieert afhankelijk van de architectuur van de applicatie en de geïmplementeerde beveiligingsmaatregelen.
Exploit Status
EPSS
0.08% (23% percentiel)
CISA SSVC
De aanbevolen oplossing is om de 'form-data' bibliotheek te updaten naar versie 2.5.4 of hoger. Deze versie pakt de kwetsbaarheid aan door een veiligere en minder voorspelbare methode te gebruiken voor het genereren van de grens. Controleer bovendien de code van uw applicatie op afhankelijkheden van Math.random() in gevoelige contexten en overweeg robuustere alternatieven voor het genereren van willekeurige getallen, vooral wanneer beveiliging van het grootste belang is. Het implementeren van een log- en monitoringsysteem kan helpen bij het detecteren van exploitatiepogingen.
Actualice la biblioteca form-data a la versión 2.5.4 o superior, o a una versión posterior a 3.0.3 o 4.0.3. Esto solucionará la vulnerabilidad de valores aleatorios insuficientes al elegir el límite, previniendo ataques de HTTP Parameter Pollution (HPP). Ejecute `npm install form-data@latest` o `yarn add form-data@latest` para obtener la versión más reciente.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
'form-data' is een JavaScript-bibliotheek die het vereenvoudigt om HTTP-verzoeken te maken met gegevens die zijn gecodeerd in het multipart/form-data-formaat, vaak gebruikt voor het uploaden van bestanden en het verzenden van complexe gegevens via webformulieren.
Versie 2.5.4 corrigeert de CVE-2025-7783 kwetsbaarheid, waardoor een aanvaller de grens in multipart/form-data-verzoeken kan voorspellen, wat mogelijk leidt tot verzoekmanipulatie.
Als u een versie van 'form-data' gebruikt die ouder is dan 2.5.4, kan uw applicatie kwetsbaar zijn. Controleer de afhankelijkheden van uw project en update de bibliotheek.
Ja, er zijn andere JavaScript-bibliotheken voor het verwerken van multipart/form-data-verzoeken, maar het is belangrijk om hun veiligheid en geschiktheid voor uw behoeften te evalueren.
Naast het updaten van 'form-data', overweeg om robuuste invoervalidatie, gegevenssanering en beveiligingsmonitoring te implementeren om aanvallen te detecteren en te voorkomen.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.