Update: Fedora OpenSSH Alarm: Nicht updaten auf 7.2p2-6 !

Wie gestern schon berichtet, ist die openssh Version 7.2p2-6 für Fedora defekt,

Wer keinen Zugang zu seiner Monitor Konsole hat und trotzdem das Downgrade einspielen muß, kann nun auf diesen Weg zurückgreifen:

Workaround V2.0: Downgrade auf 7.2p2-3

Über den Kojilink lädt man die drei Pakete runter:

Koji :  http://koji.fedoraproject.org/koji/buildinfo?buildID=756836

dann loggt man sich via defektem SSHD ein und  downgraded die Files für einen oneshot CronJob:

echo „59 16 * * * root /usr/bin/rpm -U –force /tmp/openssh*rpm > /tmp/log; rm -f /etc/cron.d/onetime“ > /etc/cron.d/onetime

Die Uhrzeit muß man natürlich an seine aktuelle Zeit anpassen 😉

Dann Ausloggen und nach der Zeit wieder einloggen. Der Befehl „rpm -qa | grep openssh“ sollte dann 7.2p2-3 anzeigen, welches die letzte funktionierende Version war.  Danach in /etc/dnf/dnf.conf einfügen:

exclude=openssh*

erst dann zieht das nächste Update nicht wieder die defekte Version auf den Server.

Das ganze klappt, weil der crond als „echter“ Root außerhalb der SSH Session läuft und nicht über sshd angetriggert wird.

Erste Hinweise zu den Ursachen des Problems

Wie im Bugtracker von RedHat einsehbar ist, kristallisieren sich grade Probleme mit der Chroot-Funktion vom SSHD heraus. Ist die Chroot aktiviert, was man tun sollte um Benutzer den Zugang zum System zu verweigern, so daß diese keine lokalen Angriffe fahren können, sondern in einer eigenen Umgebung arbeiten können. werden die für Root nötigen Capabilities nicht mehr gesetzt.

Capabilities sind die Eigenschaften eines Users, die erweiterte Rechte im Linuxsystem beinhalten, wie z.b. das Recht sich mit PTRACE in Prozessen einzuklinken, um diese zu belauschen oder zu verändern. Diese Capabilities machen Root erst aus und fehlen in der aktuellen sshd version:

# capsh --print
Current: =
Bounding set =
Securebits: 00/0x0/1'b0
 secure-noroot: no (unlocked)
 secure-no-suid-fixup: no (unlocked)
 secure-keep-caps: no (unlocked)
uid=0(root)
gid=0(root)
groups=

Meine Vermutung: Da hat wer zuviel weggepatcht 😉

Securitybug in Gnome – fast 3 Jahre bis zum Fix

Obwohl es heute Mode ist, jedem noch so kleinen Securitybug einen eigenen Namen zugeben, verzichte ich mal drauf. Ich hatte ja einigen Wochen geschrieben, daß es eine FD Veröffentlichung geben wird. Nun, heute ist es soweit : )

Der Fehler ist endlich gefixt, auch wenn die Umstände komisch erscheinen werden. Der ganze Ablauf ist ohnehin merkwürdig, es gibt nicht mal eine CVE dazu. Fangen wir mal vorn an, am 18. November 2013 !

Mein Laptop hatte damals Fedora 18 mit einem Gnomedesktop drauf und wurde alle zwei Stunden aktualisiert, war also auf Stand. Das Laptop wurde nicht gebraucht und in den Suspend gebracht,
als es dann wieder aufwachte, sah ich immer noch das Desktopfenster mit Inhalt, dann einige Sekunden später poppte der Screensaver auf und ich mußte mich einloggen. Ok. Man sieht den Bildschirm, obwohl man das nicht sollte, war jedenfalls meine Meinung. Ich probiert es nochmal, aber diesmal lief alles normal ab, der Screensaver sprang diesmal deutlich eher an und man sah nichts. Merkwürdig.

Sicherheitslücke: Informationdisclosure

Langer Rede kurzer Sinn, je nach Situation beim Abschalten des Laptops ins Disksuspend regiert es etwas anders beim Hochfahren. Ein Race zwischen den Prozessen findet statt und wenn der Screensaver das gewinnt, dann sieht man nichts, ansonsten dauert es lange und der Bildschirminhalt wird kurz sichtbar.

Am Mittwoch den 20. November habe ich dann ein Video gedreht auf dem man das sehen kann und einen Securitybugreport bei Fedora und Gnome erstellt. Nachdem die das Video gesehen hatten und nach der Hardware gefragt haben, lehnte man das Problem als irrelevant ab, weil die Hardware ja „nicht die schnellste“ wäre. Argumentieren, daß das Prinzip mit dem Screensaver ja wohl klar falsch abläuft und das vor dem Suspend gemacht werden muß, half nichts. Taube Ohren.

3 Jahre später

Letzten Dezember habe ich ein neues Laptop von der Firma bekommen. Mittlerweile gab es Fedora 23, man beachte 5 Versionen = 5*6 Monate später 😉 und der Bug sollte ja nicht mehr auftreten, weil I5 und SSD. Also … Deckel zu, warten, Deckel wieder hoch … und ????? BINGO.. der Desktopinhalt! Zwar nur für ein paar Augenblicke, also deutlich schneller weg als bei dem alten Laptop, aber da.

Der Bug war bei Fedoraim Tracker immer noch als ungelöst offen. Nun gab es keine Entschuldigung mehr, denn die HW ist schnell, ganz besonders beim Umgang mit Disksuspend. Da mir 3 Jahre als deutlich zu lange für so ein triviales Problem erschienen, habe ich einen FD Timer von 90 Tagen angesetzt, bis zu dem das Problem gefixt sein mußte.

Endlich gut, alles gut ?

Fast. Es wurde behoben, allerdings als Silentupdate, sprich, man hat es keinem erzählt. Nicht mal dem Bugreporter. Ich habe nur durch regelmäßiges ausprobieren bemerkt, daß es endlich behoben wurde.

Bleibt zu vermerken, nicht alle Sicherheitslücken werden sofort behoben, auch wenn durch so eine Informationslücke Inhalte vom Desktop in fremde Hände gelangen. Da könnten Bankdaten zusehen sein, Listen mit Namen von Menschen die nicht gefunden werden dürfen, der private Key vom Server .. tausend Dinge die man nicht sehen sollte, wenn keiner in der Nähe ist um es zu verhindern. Der Angreifer kann den Laptoprechner nach dem Test einfach wieder ins Suspend schicken und keiner merkt es.

Kleines Goodie am Ende ?  Hier noch ein Gnome 3 Bug Desktop Hack den ich gemeldet hatte. Der wurde allerdings binnen einer Woche behoben, was bei dem Impact wohl auch kein Wunder ist.

Hier die beiden Videos im Youtubeplayer: