form-data gebruikt onveilige willekeurige functie in form-data voor het kiezen van een grens
Platform
nodejs
Component
form-data
Opgelost in
2.5.4
### Samenvatting form-data gebruikt `Math.random()` om een grenswaarde te selecteren voor multipart form-encoded data. Dit kan leiden tot een beveiligingsprobleem als een aanvaller: 1. andere waarden kan observeren die door Math.random in de doeltoepassing worden geproduceerd, en 2. een veld kan beheren van een verzoek dat is gedaan met behulp van form-data Omdat de waarden van Math.random() pseudo-willekeurig en voorspelbaar zijn (zie: https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f), kan een aanvaller die een paar opeenvolgende waarden kan observeren, de status van de PRNG bepalen en toekomstige waarden voorspellen, inclusief die welke worden gebruikt om de grenswaarde van form-data te genereren. Hierdoor kan de aanvaller een waarde maken die een grenswaarde bevat, waardoor ze extra parameters in het verzoek kunnen injecteren. Dit is grotendeels dezelfde kwetsbaarheid als [recentelijk gevonden in `undici`](https://hackerone.com/reports/2913312) door [`parrot409`](https://hackerone.com/parrot409?type=user) -- Ik ben niet gelieerd aan die onderzoeker, maar wil wel de eer geven waar die toekomt! Mijn PoC is grotendeels gebaseerd op hun werk. ### Details De boosdoener is deze regel hier: https://github.com/form-data/form-data/blob/426ba9ac440f95d1998dac9a5cd8d738043b048f/l
Hoe te verhelpen
Geen officiële patch beschikbaar. Zoek naar tijdelijke oplossingen of monitor updates.
Bewaak uw afhankelijkheden automatisch
Ontvang meldingen wanneer nieuwe kwetsbaarheden uw projecten beïnvloeden.
Gratis beginnen