Problembeschreibung
Während einer Sicherheitsüberprüfung unserer angepassten Discourse-Bereitstellung haben wir ein potenzielles Risiko der Ressourcenerschöpfung im Zusammenhang mit der Dateiupload-API entdeckt.
Details
-
Upload-API: /uploads.json
-
Problem: Es gibt keine offensichtliche Ratenbegrenzung (Rate Limiting) für diesen Endpunkt. Jeder authentifizierte Benutzer kann schnell eine große Anzahl von Dateien hochladen.
-
Reproduktion:
-
Durch die Automatisierung von Anfragen kann ein Benutzer Tausende von Upload-Anfragen in kurzer Zeit senden.
-
Wir haben verifiziert, dass nach dem Senden Tausender Upload-Anfragen das Speicherverzeichnis Tausende von Dateien enthält.
-
Sicherheits-/Ressourcenauswirkungen
-
Angreifer oder sogar normale Benutzer könnten den Serverspeicher erschöpfen, die Leistung beeinträchtigen oder Betriebsprobleme auslösen, indem sie eine riesige Anzahl von Dateien hochladen.
-
Dies könnte potenziell für Denial-of-Service (DoS) missbraucht werden oder unerwartet die Speicherkosten erhöhen.
Fragen
-
Gibt es eine integrierte Ratenbegrenzung oder Missbrauchsprävention für den Endpunkt /uploads.json in Discourse?
-
Gibt es empfohlene Einstellungen oder Plugins, um die Upload-Häufigkeit von Benutzern oder die gesamte Speichernutzung pro Benutzer einzuschränken?
-
Gibt es Best Practices, um eine durch Dateiuploads verursachte Ressourcenauslastung in Discourse-Bereitstellungen zu verhindern?
Vielen Dank für Ihre Aufmerksamkeit und Ihren Rat!