Mittel

ApostropheCMS: Nicht authentifizierter unbegrenzter Multipart-Upload führt zu DoS durch Festplattenüberlauf

  • Veröffentlicht: 20.10.2026
  • Aktualisiert: 20.10.2026 21:23

Zusammenfassung

Der Endpunkt zur Formularübermittlung führt multer({ dest: os.tmpdir() }).any() vor jeglicher Authentifizierungs-, API-Schlüssel-, CSRF-äquivalenter oder Formular-Existenzlogik aus – ohne Größen-, Anzahl- oder Ratenbegrenzungen. Nicht authentifizierte Benutzer können pro Anfrage unbegrenzte Payloads auf die Festplatte streamen; eine Bereinigung erfolgt erst nach vollständigem Empfang des Datenstroms.

Details

packages/form/index.js apiRoutes.post.submit (L274–296): [ multer({ dest: os.tmpdir() }).any(), self.normalizeFiles, async function (req) { try { submitForm } finally { unlink files } } ]. Kein limits, keine Ratenbegrenzung, keine Vorabvalidierung. „CSRF“ ist ein Double-Submit-Cookie mit festem Wert (vulnlab.csrf=csrf, gesetzt bei jedem GET, express/index.js L694–703) — trivial anonym abrufbar.

PoC

bash
$ curl -s -c csrfjar.cookies http://localhost:3100/        # get vulnlab.csrf=csrf (any GET)
$ df -P /tmp                                                # before: used=1105212
$ curl -b csrfjar.cookies -X POST http://localhost:3100/api/v1/@apostrophecms/form/submit \
      -F "file=@/tmp/opencode/big.bin;type=application/octet-stream" &
   DURING transfer:    used=1148668
   still transferring: used=1226936        # +121MB mid-transfer on disk
   http=500 time=1.78s sent=209715411B     # generic error AFTER full staging
# Anonymous, zero credentials. 200MB written to /tmp pre-validation.

Auswirkungen

Jeder nicht authentifizierte Client kann den Server dazu zwingen, vollständige Anfrageinhalte im temporären Dateisystem zu speichern und per CPU zu dekodieren; parallele Anfragen erschöpfen Festplattenspeicher /tmp (Prozess-/Host-Absturz) und lasten die Ereignisschleife aus – ein trivialer Remote-DoS. Abgebrochene Übertragungen bergen das Risiko verwaister temporärer Dateien (keine req.aborted-Bereinigung).

Was zu tun ist

Aktualisieren Sie @apostrophecms/form auf Version 1.5.5 oder höher.

Legen Sie zudem für multer limits fest (fileSize, fields, parts, fieldSize); führen Sie Authentifizierungs-, Rollen- und Existenzprüfungen vor dem multer-Mount oder innerhalb des geprüften Handlers durch; löschen Sie zwischengespeicherte Dateien beim ersten Lesen und bei req.aborted/Fehlern; und implementieren Sie eine Ratenbegrenzung pro IP-Adresse.

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
npm-Paket @apostrophecms/form < 1.5.5 1.5.5

Verweise

CVSS-Wert 5.3/10
CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Schwäche (CWE)
CWE-770
Plattform
npm
Paket
@apostrophecms/form
Veröffentlicht
20.10.2026
Aktualisiert
20.10.2026 21:23

Quellen und Lizenzen · Von DockRay bearbeitet oder übersetzt; Rechte und Lizenzen der Quellen bleiben erhalten.

OSV / GitHub Advisory Database - GHSA-89mh-mm8c-mv7f - CC BY 4.0

Schwachstellenhistorie: @apostrophecms/form

Alle veröffentlichten Schwachstellen dieses Pakets (npm-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Einträge insgesamt
2
Erste → letzte
10.2026 10.2026
Ohne Fix
0
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Mittel 2

Veröffentlichungen pro Jahr

  1. 2026: 2
  1. ApostropheCMS: Nicht authentifizierter unbegrenzter Multipart-Upload führt zu DoS durch Festplattenüberlauf dieser Eintrag
    Mittel · 5.3 CVE-2026-113656 < 1.5.5 1.5.5
  2. Mittel CVE-2026-113667 < 1.5.5 1.5.5

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.