
Bereinigte Sicherheitsmeldung für CVE-2025-51846, die die WebSocket-Verarbeitung von CryptPad betrifft.
Schweregrad: Hoch (CVSS 7.5)
CWE: 400 – Unkontrollierter Ressourcenverbrauch (Ressourcenerschöpfung),
CWE: CWE-770 – Zuweisung von Ressourcen ohne Grenzen oder Drosselung
Status: Behoben
Bestätigt betroffen: CryptPad 2025.3.1
Betroffener Bereich im CSAF-Entwurf: >=2025.3.1, <2026.2.1
Hinweis zur behobenen Version: Der Koordinatoren-Entwurf verweist derzeit auf 2026.2.1. CryptPad gab später an, dass 2026.2.2 aufgrund eines Versionsproblems in 2026.2.1 das tatsächlich korrekte Fehlerbehebungs-Release ist. Betreiber sollten die endgültig behobene Version in der veröffentlichten CISA-Warnung und den CryptPad-Versionshinweisen bestätigen.
Bild
CryptPads WebSocket-Implementierung begrenzte zwar einzelne Frames, setzte jedoch keine ausreichenden kumulativen Grenzen für die Datenmenge und die Anzahl der pro Verbindung verarbeiteten Fragmente durch.
Gemäß RFC 6455 kann eine WebSocket-Nachricht auf mehrere Frames aufgeteilt werden. In betroffenen Versionen konnten wiederholte gültige Frames oder fragmentierte Nachrichten einen übermäßigen serverseitigen Ressourcenverbrauch verursachen.
Ein entfernter, nicht authentifizierter Angreifer konnte dieses Verhalten ausnutzen, um den Dienst für legitime Benutzer zu beeinträchtigen oder zu verweigern. In Tests führte dies zu hoher CPU- und Speicherauslastung, einer nicht reagierenden CryptPad-Benutzeroberfläche, fehlgeschlagenem Laden von Dokumenten/Sitzungen und zur Beendigung des Dienstes unter hoher Last.
Bild
Das Problem wird durch eine unzureichende kumulative Ressourcenerfassung im WebSocket-Verarbeitungspfad verursacht. Obwohl einzelne Frames Größenprüfungen unterliegen können, verarbeitet der Server weiterhin wiederholte gültige Frames oder Fragmente, ohne dass eine effektive kumulative Grenze pro Verbindung besteht.
In Labortests wurden mehrere nicht bösartig wirkende WebSocket-Verkehrsmuster verwendet, um das Problem zu validieren:
Diese Tests zeigten, dass CryptPad weiterhin Ressourcen verbrauchte, während es Datenverkehr verarbeitete, der einzeln betrachtet gültig erschien. Unter höherer Laborlast wurde der Dienst unverfügbar, und die Systemprotokolle zeigten die Beendigung von Prozessen aufgrund von Speichererschöpfung.
Vollständige Stresstest-Skripte werden nicht veröffentlicht, um Missbrauch gegen Produktionsinstanzen von CryptPad zu vermeiden.
Bild
Dieses Advisory enthält absichtlich nur eine nicht als Waffe nutzbare Beschreibung des Reproduktionsansatzes.
Auf hoher Ebene kann das Problem in einem kontrollierten Labor wie folgt reproduziert werden:
Es ist kein öffentlicher Exploit oder Flood-Skript enthalten.
Bild
Ein Angreifer kann daher eine WebSocket-Verbindung öffnen und Hunderte oder sogar Tausende von Frames senden (jeder innerhalb der zulässigen Größenbeschränkung), bis der Server eine enorme Datenmenge gepuffert und verarbeitet hat. Auch wenn jeder Frame für sich genommen „legal“ aussieht, besteht der kumulative Effekt darin, dass Speicher und CPU des Servers durch die Verarbeitung jedes Fragments verbraucht werden.
Ein entfernter, nicht authentifizierter Angreifer kann:
Bild
>=2025.3.1, <2026.2.11e0c06ad8a0c5dab795f85f9730ec2693320c62eBild
Betreiber sollten auf die behobene CryptPad-Version aktualisieren, die in der endgültigen CISA-Warnung und den CryptPad-Versionshinweisen identifiziert ist.
Zusätzliche Defense-in-Depth-Gegenmaßnahmen umfassen:
Bild
CryptPad erkannte den Denial-of-Service-Zustand an. Der Anbieter erklärte, dass auf der nginx-Seite für die Flaggschiff-Instanz bereits Gegenmaßnahmen implementiert worden seien und dass weitere Änderungen an der Beispielkonfiguration und der Serverlogik hinzugefügt würden. CryptPad verwies außerdem auf eine umfassendere Server-Refactoring, das diese Gegenmaßnahmen einschließen soll.
CryptPad stellte später PR #2239 als öffentliche Referenz zur Behebung bereit und gab an, dass das korrigierte Fehlerbehebungs-Release 2026.2.2 ist, nach einem Versionsproblem in 2026.2.1.
Bild
Diese Schwachstelle ist korrekt als Denial-of-Service-Schwachstelle mit hohem Schweregrad eingestuft. Der Angriff erfordert keine Authentifizierung und kann durch Erschöpfung der Serverressourcen über gültige WebSocket-Verkehrsmuster eine vollständige Nichtverfügbarkeit des Dienstes verursachen.
Bild
Die Tests wurden nur in kontrollierten Umgebungen durchgeführt. Dieses Advisory enthält keine als Waffe nutzbaren Flood-Skripte oder vollständige Reproduktionswerkzeuge.
Bild
John Perifanis
Sicherheitsforscher
Kontakt: https://www.linkedin.com/in/ioannis-p-9081842b9