flat: Denial of Service über unflatten() mit numerischen Array-Index-Schlüsseln
Zusammenfassung
Die npm-Bibliothek flat für JavaScript bis einschliesslich Version 6.0.1 erlaubt es Angreifern, über unbegrenzte numerische Schlüssel in unflatten() riesige, spärlich belegte Arrays zu erzeugen. Angreifer können flachgeklopfte Schlüssel wie a.4294967294 übergeben, wodurch die Iteration mit forEach, Spread oder JSON.stringify die Event-Loop von Node.js blockiert. Relevant ist dies nur, wenn eine Anwendung vom Angreifer kontrollierte Schlüssel an unflatten() übergibt, und die Auswirkung beschränkt sich auf die Verfügbarkeit.
Betroffen
- flat bis und mit 6.0.1 (Bereich laut CNA: 0 bis <= 6.0.1)
- Ältere Zweige: keine Herstelleraussage gefunden; nicht als betroffen bestätigt
Behoben in
Unbekannt.
Umgehung
- Keine nicht vertrauenswürdigen Schlüssel an unflatten() übergeben.
- Falls nötig, die Schlüsselstruktur vorab prüfen und numerische Segmente oberhalb einer sinnvollen Grenze ablehnen.
- Node.js-Dienste hinter einen Reverse Proxy mit Limiten für Request-Grösse und Timeouts stellen und die Verzögerung der Event-Loop überwachen.
Ausnutzung
- VulDB gibt an, dass eine Remote-Ausnutzung möglich ist; es ist kein Exploit verfügbar.
- Ein öffentliches GitHub-Issue beschreibt den Mechanismus und behauptet, eine einzelne kleine Anfrage könne den Prozess blockieren; diese Behauptung ist nicht verifiziert.
- Keine bestätigte Ausnutzung in freier Wildbahn gefunden.
- EPSS: 0.32 % (Perzentil 25).
Unsere Empfehlung
- Prüfen, ob eine Node.js-Anwendung flat verwendet, direkt oder transitiv (zum Beispiel mit npm ls flat), und ob sie produktiv läuft.
- Prüfen, ob nicht vertrauenswürdige Eingaben an unflatten() gelangen; falls ja, die oben genannten Massnahmen prioritär umsetzen.
- Den Upstream-Fortschritt und die Advisory von VulnCheck auf eine korrigierte Version überwachen und die Bibliothek nach Verfügbarkeit aktualisieren oder ersetzen.
- Den Score allein nicht als alleinige Grundlage nehmen: Die Schweregrade variieren je nach Quelle (CVSS 4.0: 8.2; CVSS 3.1: 7.5; CVSS 5.9).
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- VulnCheck advisory www.vulncheck.com
- hughsk/flat on GitHub github.com
- flat index.js (vulnerable code, commit 1d68e1d) github.com
- flat issue 195 (reporter description) github.com
- VulDB entry 428405 vuldb.com
- CVE record mirror (threatint) cve.threatint.com
- Strix CVE mirror www.strix.ai
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 01.11.2026 14:42.
Referenzen der NVD (5)
- https://github.com/hughsk/flat
- https://github.com/hughsk/flat/blob/1d68e1d06c0210cff31e5c61ac177f3e2d3fa564/index.js#L137-L142
- https://github.com/hughsk/flat/blob/1d68e1d06c0210cff31e5c61ac177f3e2d3fa564/index.js#L65-L75
- https://github.com/hughsk/flat/issues/195
- https://www.vulncheck.com/advisories/flat-through-6.0.1-denial-of-service-via-unflatten-numeric-array-index-k…
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
