„`html
Zusammenfassung
Die Schwachstelle CVE-2025-71330 ist eine Denial-of-Service (DoS) Anfälligkeit in der Node.js-Bibliothek image-size bis Version 2.0.2. Ein Remote-Angreifer kann durch ein manipuliertes ICNS-Bild-Buffer die Event Loop des Node.js-Prozesses permanent blockieren und damit die Verfügbarkeit betroffener Systeme beeinträchtigen.
Betroffene Systeme
Betroffene Komponente: image-size (npm-Paket)
Betroffene Versionen: Bis einschlieĂźlich 2.0.2
Laufzeitumgebung: Node.js-basierte Anwendungen, die image-size fĂĽr die Bildverarbeitung nutzen
Angriffsvektor: Netzwerk (Remote)
Technische Details
Der Fehler liegt im ICNS-Parser der image-size-Bibliothek. Das ICNS-Format (macOS Icon Format) wird durch einen fehlerhaften Parsing-Mechanismus verarbeitet:
- Auslöser: Ein speziell konstruiertes ICNS-Buffer mit gültigen Magic Bytes und einem Entry-Length-Feld mit dem Wert 0
- Root Cause: Der ICNS-Parser inkrementiert den Offset nicht, wenn das Entry-Length-Feld 0 ist. Dies fĂĽhrt dazu, dass die While-Loop-Bedingung unbegrenzt wahr bleibt.
- Auswirkung: Infinite Loop, die die Node.js Event Loop blockiert und den gesamten Prozess einfriert
Code-Logik:
while (offset < buffer.length) {
const entryLength = readEntryLength(buffer, offset);
if (entryLength === 0) {
// Offset wird nicht inkrementiert
// → Endlosschleife
}
offset += entryLength;
}
Empfohlene Massnahmen
- Sofortmassnahmen: Eingabevalidierung für ICNS-Buffer implementieren. Dateien mit ungültigen oder verdächtigen Strukturen ablehnen.
- Abhängigkeitsupdate: Auf eine gepatchte Version von image-size wechseln, sobald verfügbar
- Input-Sanitization: Größenlimits für verarbeitete Bilddateien setzen
- Monitoring: Process-Ăśberwachung zur Erkennung blockierter Event Loops implementieren
- Alternative: Bei kritischen Systemen Alternative zu image-size evaluieren
Bewertung
CVSS 3.1: 7.5 (High)
Verfügbarer Patch: Nein (Stand der Veröffentlichung)
Priorität: Hoch – Remote Denial of Service ohne Authentifizierung
Bedrohungslage: Alle öffentlich erreichbaren Node.js-Anwendungen mit image-size-Abhängigkeit sind gefährdet.
„`