
Das PHP-Projekt zieht zu GitHub um. (Foto: 360b / Shutterstock.com)
Bekannter Flaw in Versionsverwaltungssystemen
Dass es überhaupt möglich ist, sich als jemand anderes auszugeben und in dessen Namen Code zu committen, ist ein bekannter Flaw in Versionsverwaltungssystemen wie Git. Dazu reicht es offenbar aus, dass der Commit lokal als von der zu verkörpernden Person stammend abgezeichnet und anschließend auf den Server geladen wird.
Die Angreifer hatten die Commits abgezeichnet, als stammten sie von zwei bekannten Maintainern der Sprache, Rasmus Lerdorf und Nikita Popov. Beide Commits waren mit „Fix typo“ betitelt – als handele es sich dabei jeweils um die Korrektur eines Tippfehlers.
Beide Commits binnen Stunden rückgängig gemacht
Bei genauerem Hinsehen stellte sich jedoch heraus, dass die hinzugefügte Zeile 370, in der eine Funktion namens zend_eval_string
aufgerufen wird, in Wirklichkeit eine Hintertür zur Remote Code Execution einführte. Laut PHP-Entwickler Jake Birchall führt diese Zeile ausgehend vom useragent Http-Header einer Website dann Code aus, wenn der String mit 'zerodium'
, beginnt. Gegenüber Bleeping Computer sagte Nikita Popov, dass der bösartige Code wenige Stunden nach dem Commit im Rahmen einer routinemaßigen Post-Commit-Code-Review aufgefallen und sofort rückgängig gemacht worden sei.
Laut Security-Announcement wurde der git.php-Server kompromittiert, nicht der Git-Account einer Einzelperson. In der Folge des Vorfalls habe man beschlossen, das offizielle PHP-Repository auf die Versionsverwaltungsplattform GitHub umzuziehen. Es sei erkannt worden, dass das Unterhalten einer eigenen Git-Infrastruktur ein unnötiges Sicherheitsrisiko mit sich bringe. Die bereits auf GitHub befindlichen Repositories sollen in diesem Zuge canonical werden, Änderungen am Projekt künftig direkt auf GitHub gepushed werden.
Wer sich künftig an der Weiterentwicklung der Programmiersprache beteiligen will, muss sich entsprechend zum Projekt auf GitHub hinzufügen lassen.
Bislang keine weiteren Auswirkungen des Angriffs bekannt
Gegenüber Bleeping Computer sagte Popov, das PHP-Security-Team untersuche die Repositories über die beiden Commits hinausgehend auf verdächtige Aktivitäten. Möglich, dass das Projekt in der Zwischenzeit geklont oder geforkt worden sei, die bösartigen Commits seien aber weder in Tags noch in Release-Artefakte übernommen worden. Beide Commits seien auf den Development-Branch von Version 8.1 gepusht worden. PHP 8.1 wird voraussichtlich Ende des Jahres veröffentlicht.
Es heißt „komprOmittiert“ nicht „komprimitiert“ (das andere Wort ist „komprimiert“).
Und „Artefakte“ nicht „Artifakte“.
Und „im Zuge“ und nicht „im Zug“.
Gegen Ende ist Wortstellung bei „Möglich [sei]“ falsch.
Echt, ey, T3n, den perversen cryptomining hype pushen und kein Geld für´n spell checker oder ordentliches Lektorat, oder was? Das ist der Weg nach unten, hoffentlich räumt der neue Chef mal auf.