Eine Sicherheitslücke in der Snap Paketverwaltung hat zur Folge, dass ein lokaler Angreifer Root-Rechte auf dem System erlangen kann.
Der verantwortliche Programmierfehler liegt in der REST-Schnittstelle von Snap. Diese wird über einen Daemon-Prozess, snapd, realisiert. Snap erzeugt via snapd einen Unix-Socket, auf dem ein Webserver Befehle via HTTP für die REST-Schnittstelle empfangen kann. Über das REST-API können unter anderem auch neue Benutzerkonten angelegt werden. Natürlich haben die Entwickler hier eine Sicherheitskontrolle eingebaut, so dass nicht jeder beliebige Anwender neue Accounts anlegen kann. Solche Aktionen sind durch eine Kontrolle der Benutzerkennung (UID) abgesichert und dadurch
eigentlich dem Root-Benutzer (UID 0) vorbehalten.
Genau in diesem Code hat sich aber eine, Dirty Sock getaufte, Sicherheitslücke eingeschlichen. Das Problem besteht darin, dass der UID-String nicht korrekt verarbeitet wird, wodurch ein Angreifer eine UID 0 vorgaukeln kann. Damit kann der Angreifer auch priviligierte Aktionen wie das Anlegen von Benutzeraccounts durchführen. So ist es unter anderem
möglich, dass der Angreifer einen Benutzer mit sudo Rechten anlegt und damit gewöhnlichen Root-Zugriff auf das System erlangt.
Betroffen sind die Versionen 2.28 bis 2.37.0. Der Fehler wurde von den Entwicklern umgehend in Version 2.37.1
korrigiert.
