Systemd-Entwickler wollen die "0day"-Lücke nun doch schließen

Eigentlich sei alles, wie es sein soll, hieß es. Das mehr als fragwürdige Verhalten beim Systemstart von Linux sei völlig in Ordnung. Doch dann kam ein riesiger Shitstorm und selbst Linus Torvalds zeigte sich unzufrieden. Jetzt gibt es einen Patch.

In Pocket speichern vorlesen Druckansicht 575 Kommentare lesen
Systemd-Entwickler wollen die "0day"-Lücke nun doch schließen
Lesezeit: 2 Min.

Systemd ist der für den Start eines Linux-Systems verantwortliche Prozess. Wenn er einen Dienst mit den eingeschränkten Rechten eines Benutzers starten soll, dessen Name wie "0day" mit einer Ziffer beginnt, entscheidet er sich stattdessen, diesen mit Root-Rechten auszuführen. Nutzernamen mit Zahlen am Anfang seien verboten, rechtfertigte der Systemd-Architekt Lennart Poettering das schräge Verhalten und schloss den Fehlerbericht mit "not-a-bug". Jetzt ändern die Entwickler das Verhalten aber anscheinend doch.

Zwischenzeitlich gab es lautstarken Protest, bösen Spott und schließlich sogar einen zynisch, frustrierten Seitenhieb von Linus Torvalds himself: "Das kommt wohl zum Großteil daher, dass ich 'init' nicht mehr vertrauen kann, das offensichtlich Vernünftige zu tun. Ihr wisst wohl alle, warum", erläuterte er eine Entscheidung ohne direkten Bezug zu Systemd auf der Linux-Kernel-Mailing-Liste. Unterdessen hat das schräge Systemd-Verhalten auch eine eigene Nummer auf der Schwachstellen-Liste Common Vulnerabilty Enumeration erhalten (CVE-2017-1000082).

Der Systemd-Entwickler Zbigniew Jędrzejewski-Szmek hat nun vor vier Tagen einen Patch namens "Refuse to load some units" vorgeschlagen, der das Verhalten ändert. Er führt dazu, dass Fehler in bestimmten, kritischen Konfigurationsanweisungen den Start eines Dienstes ganz verhindern. Dazu gehört explizit auch die "User"-Option; enthält die einen ungültigen Benutzernamen, wird der Start des zugehörigen Dienstes verweigert statt wie bisher nur die limitierende User-Option zu ignorieren. Der Patch hat zwar im Bug-Tracker keinen direkten Bezug zum abgewiesen "0day"-Bug-Report, trägt aber in der Beschreibung den Hinweis "Fixes #6237". Ob er tatsächlich angenommen wird, ist noch offen; Lennart Poettering hat sich bisher nicht dazu geäußert.

Update: 11.07.2017, 13:44 Uhr

Lennart Poettering zeigt sich mit dem vorgeschlagenen Patch weitgehend einverstanden. Er regt lediglich an, die drei Parameter PrivateTmp=, PrivateNetwork= und PrivateUsers= von der Prüfung auszunehmen. Die seien für das Sandboxing von Diensten vorgesehen und erforderten eventuell etwas mehr Flexibiltät. Damit steht einer Umsetzung wohl nichts mehr im Weg. (ju)