„`html
Zusammenfassung
Die Sicherheitslücke CVE-2026-5038 betrifft das Node.js Middleware-Paket Multer in den Versionen 2.0.0-alpha.1 bis 2.1.1 und 3.0.0-alpha.1. Sie ermöglicht Denial-of-Service-Angriffe durch Erschöpfung des Festplattenspeichers. Der Schweregrad wird mit Medium (CVSS 5.3) bewertet.
Betroffene Systeme
- Multer 2.0.0-alpha.1 bis 2.1.1
- Multer 3.0.0-alpha.1
- Express.js Anwendungen mit Multer fĂĽr File-Upload-Verarbeitung
- Systeme mit diskStorage-Konfiguration
Technische Details
Das Vulnerabilitätsproblem liegt in der fehlerhaften Stream-Behandlung bei der Dateiablage auf der Festplatte. Wenn Multipart-Upload-Anfragen abgebrochen oder beschädigt werden, propagiert der Readable.pipe()-Aufruf das Stream-Destroy-Signal nicht ordnungsgemäß an den darunter liegenden fs.WriteStream weiter.
Dies fĂĽhrt dazu, dass unvollständige Dateifragmente als sogenannte „orphaned files“ auf der Festplatte verbleiben und nicht gelöscht werden. Ein Angreifer kann diese Schwachstelle ausnutzen, indem er gezielt viele abgebrochene Upload-Anfragen sendet, um den verfĂĽgbaren Speicherplatz zu erschöpfen. Kein Anwendungs-Bug ist erforderlich – die Anfälligkeit ist systemimmanent.
Empfohlene Massnahmen
Sofortiges Upgrade erforderlich:
- Für die 2.x-Reihe: Upgrade auf Multer 2.2.0 oder höher
- Für die 3.x Prerelease: Upgrade auf 3.0.0-alpha.2 oder höher
Diese Versionen implementieren ein Tracking-Mechanismus für in-flight Write-Streams und stellen sicher, dass diese beim Abbruch einer Upload-Anfrage vollständig bereinigt werden. Dadurch wird die Bildung verwaister Dateien verhindert.
Zusätzlich sollten regelmäßige Speicherplatz-Überwachungen etabliert werden und Cleanup-Routinen für temporäre Upload-Verzeichnisse implementiert werden.
Bewertung
CVSS v3.1 Score: 5.3 (Medium)
Der Angriffsvektor ist netzwerkbasiert (Network) mit niedrigen Anforderungen. Die Lücke erfordert keine Authentifizierung und kann remote ausgenutzt werden. Die Verfügbarkeit ist beeinträchtigt, während Vertraulichkeit und Integrität nicht gefährdet sind.
„`