Programmiersprache: API-Keys für Rust-Pakete auf crates.io zurückgezogen

Wegen einer Schwachstelle beim Generieren der API-Keys hat die Rust Security Response Working Group alle API-Keys zurückgezogen.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 5 Beiträge

(Bild: zffoto / Shutterstock.com)

Von

Die Security Response Working Group der Rust Community hat auf einen Hinweis bezüglich einer Schwachstelle beim Erstellen von API-Keys für die auf crates.io verwalteten Pakete reagiert. Als Konsequenz hat das Team alle API-Keys zurückgezogen, und Entwickler müssen auf der crates.io-Seite neue Schlüssel erstellen.

In der Programmiersprache Rust heißen die Pakete Crates, und der Paketmanager namens Cargo verwaltet die Abhängigkeiten. Die Seite crates.io ist eine Registry für die Pakete der Rust-Community, auf der Entwickler ihre eigenen Crates ablegen können und die Dependencies dazu angeben müssen. Beim Schreiben dieser Meldung befanden sich dort gut 43.000 Pakete.

Die gemeldete Schwachstelle bezieht sich auf eine unsichere Methode der Zufallszahlenerstellung. crates.io setzte dafür bis vor Kurzem auf die Random Function von PostgreSQL, die kein kryptographisch sicherer Zufallszahlengenerator ist. Theoretisch hätten Angreifer somit durch das Analysieren einer ausreichend großen Menge erzeugter Zufallszahlen den internen Zustand des Generators ermitteln können.

Lesen Sie auch

Diese Information hätte wiederum Rückschlüsse auf API-Keys seit dem letzten Reboot des Datenbankservers ermöglicht. Beim Untersuchen ist die Arbeitsgruppe auf eine weitere Sciherheitslücke gestoßen: Offensichtlich lagen die API-Keys im Klartext in der Datenbank. Somit könnten Angreifer, die sich in irgendeiner Weise Zugriff auf die Datenbank verschaffen, die Schlüssel einfach auslesen.

Laut Einschätzung der Security Response Working Group ist das praktische Risiko durch die Schwachstellen gering. Hinweise darauf, dass Angreifer sie bereits ausgenutzt hätten, existieren laut der Arbeitsgruppe nicht.

Dennoch hat sie sich dazu entschlossen, alle existierenden API-Keys zurückzuziehen. Entwickler können auf crates.io/me neue Schlüssel erstellen. Die Seite erfordert eine Registrierung beziehungsweise Anmeldung. Derweil hat das Rust-Team den Code angepasst, der nun laut dessen Angaben einen kryptografisch sicheren Zufallszahlengenerator verwendet und die Tokens über Hashes in der Datenbank ablegt.

Details lassen sich dem Rust-Blog entnehmen. Er listet auch einen kurzen zeitlichen Abriss der Ereignisse: Die Meldung der Schwachstelle ging demnach am Nachmittag (UTC und damit zwei Stunden vor der mitteleuropäischen Sommerzeit) des 11. Juli 2020 ein, am selben Abend hat das Team sie bestätigt und in der Nacht einen Fix geplant, dessen Entwicklung am Morgen des 13. Juli begonnen hat. Am 14. Juli haben die Entwickler die Codeänderung getestet, ausgerollt und anschließend die Schwachstelle öffentlich bekanntgegeben.

(rme)