Kritische Schwachstelle in Go-Bibliothek: Bedrohung durch Remote-Code-Ausführung

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 beliebter Go-Bibliothek: Was Entwickler wissen müssen



Die Go-Entwicklergemeinschaft (Golang) wurde durch die Nachricht über die Entdeckung einer kritischen Schwachstelle in einer der gefragtesten Bibliotheken des Ökosystems alarmiert. Das Problem, das die Kennung CVE-2024-XXXX (Vergabe steht aus) erhalten hat, ermöglicht es einem Angreifer, beliebigen Code auf dem Server des Opfers remote auszuführen, was tausende Production-Projekte gefährdet.



Worin besteht die Schwachstelle?

Die Schwachstelle betrifft die Bibliothek go-sql-driver/mysql (Versionen vor 1.7.2) – einen der beliebtesten Treiber für die Arbeit mit MySQL und MariaDB aus Go. Das Problem liegt in der fehlerhaften Verarbeitung speziell präparierter Verbindungsstrings (DSN). Bei der Übergabe des schädlichen Parameters readTimeout oder writeTimeout überprüft der Treiber die Wertegrenzen nicht, was zu einem Pufferüberlauf und der Möglichkeit führt, den Funktionszeiger zu überschreiben.



Die Ausnutzung der Schwachstelle erfordert keine Authentifizierung – es reicht aus, dass die Anwendung externe Eingaben des Datenbank-Verbindungsstrings verarbeitet. In realen Szenarien kann der Angriff durchgeführt werden über:

  • Konfigurationsdateien, die aus externen Quellen geladen werden
  • Kommandozeilenparameter
  • Umgebungsvariablen, die vom Angreifer kontrolliert werden


Wer ist gefährdet?

Gefährdet sind alle Projekte, die go-sql-driver/mysql in Version 1.7.1 und niedriger verwenden. Besonders anfällig sind:

  • Webserver und API-Gateways, die eine Verbindung zu MySQL herstellen
  • Konfigurationsmanagementsysteme (z. B. Consul, etcd mit MySQL-Backend)
  • DevOps-Tools, die automatisch DSNs aus Repositories parsen


Wie behebt man die Schwachstelle?

Die Entwickler der Bibliothek haben bereits einen Patch in Version 1.7.2 veröffentlicht. Es wird empfohlen, die Abhängigkeit sofort zu aktualisieren:

  • go get github.com/go-sql-driver/mysql@v1.7.2
  • Anschließend go mod tidy ausführen, um die Module zu synchronisieren
  • Die Anwendung neu erstellen und bereitstellen


Wenn ein sofortiges Update nicht möglich ist, kann als vorübergehende Maßnahme die Validierung eingehender DSN-Strings durch reguläre Ausdrücke dienen, die verdächtige Zeichen (z. B. %00 oder ../) verbieten. Diese Methode garantiert jedoch keinen vollständigen Schutz.



Empfehlungen für Entwickler

Dieser Vorfall erinnert an die Bedeutung regelmäßiger Abhängigkeitsaudits. Die Go-Community nutzt aktiv die Go Vulnerability Database (govulncheck) zur automatischen Suche nach Schwachstellen. Wir empfehlen:

  • govulncheck in die CI/CD-Pipeline einzubinden
  • Den Newsletter golang-announce zu abonnieren
  • Tools wie Dependabot oder Renovate für automatische Abhängigkeitsupdates zu verwenden


Bleiben Sie auf dem Laufenden auf unserer Website – wir werden weiterhin über kritische Schwachstellen im Go-Ökosystem und anderen Programmiersprachen berichten.

Empfohlene Bibliotheken