Kritische Schwachstelle in der Go-Bibliothek net/http: Bedrohung für Millionen von Servern

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Kritische Schwachstelle in der Go-Standardbibliothek (Golang) entdeckt: Bedrohung für Millionen von Servern



Die Entwickler-Community von Go (Golang) wurde durch die Nachricht über die Entdeckung einer kritischen Schwachstelle in der Standardbibliothek net/http erschüttert. Die Schwachstelle, die die Kennung CVE-2023-XXXX (beispielhaft ersetzt) erhalten hat, betrifft die Verarbeitung von HTTP-Anfragen und kann schwerwiegende Folgen haben – von der Umgehung von Sicherheitsrichtlinien bis hin zur vollständigen Kompromittierung von Servern.



Das Problem gehört zur Klasse der Angriffe vom Typ HTTP Request Smuggling ("Anfragenschmuggel"). Es entsteht durch eine fehlerhafte Verarbeitung der Header Transfer-Encoding und Content-Length im HTTP-Anfrage-Parser von Go. Ein Angreifer kann eine speziell präparierte Anfrage senden, die vom Go-Server anders interpretiert wird als von einem vorgeschalteten Proxy-Server oder Load Balancer.



Worin besteht die Gefahr?

Durch Ausnutzung dieser Schwachstelle kann ein Angreifer:

  • Autorisierung und Authentifizierung umgehen – bösartige Anfragen einschleusen, die der Server als legitime Aktionen im Namen eines anderen Benutzers verarbeitet.
  • Sitzungsdaten abfangen – den Cache von Proxy-Servern "vergiften" und Zugriff auf geschützte Ressourcen erhalten.
  • XSS-Angriffe durchführen – Skripte in Serverantworten einschleusen, die der Browser des Opfers ausführt.
  • Denial-of-Service (DoS) erreichen – Anfragen senden, die zum Einfrieren oder Absturz der Anwendung führen.


Die besondere Gefahr der Schwachstelle ergibt sich aus der Tatsache, dass net/http eine Standardbibliothek ist, die von der überwältigenden Mehrheit der Go-Projekte genutzt wird – von einfachen APIs bis hin zu großen Microservice-Architekturen. Experten schätzen, dass weltweit Millionen von Servern gefährdet sind.



Wer ist gefährdet?

Die Schwachstelle betrifft alle Go-Versionen vor 1.20.6 und 1.21.0. Gefährdet sind:

  • Webserver und APIs, die in Go ohne Verwendung eines Reverse Proxy geschrieben wurden.
  • Anwendungen, die die integrierten Funktionen von net/http zur Verarbeitung von Anfragen nutzen.
  • Server, die hinter Load Balancern oder WAFs betrieben werden, die Header möglicherweise unterschiedlich parsen.


Wie kann man sich schützen?

Die Entwickler der Sprache Go haben umgehend einen Patch veröffentlicht. Zum Schutz Ihres Projekts müssen Sie sofort die folgenden Schritte unternehmen:

  1. Go aktualisieren auf Version 1.20.6 oder 1.21.0 (abhängig von Ihrem Hauptversionszweig).
  2. Alle Binärdateien neu erstellen mit der neuen Compiler-Version.
  3. Abhängigkeiten überprüfen – Wenn Sie Drittanbieter-Bibliotheken oder Wrapper um net/http verwenden, stellen Sie sicher, dass diese ebenfalls aktualisiert und kompatibel sind.
  4. WAF implementieren (Web Application Firewall) als zusätzliche Schutzebene, die verdächtige Anfragen filtern kann.


Das Team von PythonLib empfiehlt allen Go-Entwicklern dringend, das Update nicht aufzuschieben. Die Schwachstelle ist kritisch.

Empfohlene Bibliotheken