Lese-Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.

Kritische Sicherheitslücken im Linux CUPS-Drucksystem

Von: MK

In der OpenPrinting Common Unix Printing System (CUPS) auf Linux-Systemen wurden neue Sicherheitslücken entdeckt. Unter bestimmten Bedingungen könnten diese Schwachstellen eine Fernbefehlsausführung ermöglichen. Ein entfernter, nicht authentifizierter Angreifer kann dabei unbemerkt bestehende Drucker-URLs durch bösartige URLs ersetzen. Sobald ein Druckauftrag von diesem Computer gestartet wird, kann der Angreifer beliebige Befehle mit den entsprechenden Benutzerrechten ohne […]

Der Beitrag Kritische Sicherheitslücken im Linux CUPS-Drucksystem erschien zuerst auf fosstopia.

Ubuntu 23.10

Nachdem Hasskommentare in der ukrainischen Übersetzungsdateien entfernt wurden (siehe auch omgubuntu.co.uk), steht das ISO-Image von Ubuntu 23.10 »Mantic Minotaur« wieder zum Download zur Verfügung. Die neueste Version von Ubuntu ist das letzte Release vor der nächsten LTS-Version — und insofern besonders interessant: »Mantic Minotaur« vermittelt eine erste Vorstellung, wie Ubuntu LTS die nächsten Jahre prägen wird.

Updates: 14.11.2023, Netplan

Installation und App Center

Ich habe die Installation diesmal nur in virtuellen Maschinen getestet. Zumindest dort hat das neue Installationsprogramm problemlos funktioniert — auf jeden Fall besser als in Version 23.04, in der das Installationsprogramm erstmalig zum Einsatz kam. Die für die meisten Nutzer wichtigste Neuerung besteht darin, dass nun standardmäßig eine »Minimalinstallation« durchgeführt wird — ohne LibreOffice, Thunderbird, Foto-Verwaltung, Audio-Player usw.

Standardmäßig wird eine Minimalinstallation ohne Office-Programme durchgeführt

Grundsätzlich mag ich diesen Minimalismus. Bei der Installation der fehlenden Programme hilft das mit der Bibliothek Flutter neu implementierte »App Center«, dessen Versionsnummer 1.0.0-alpha lautet. 1.0.0 klingt an sich schon abschreckend, »alpha« macht es noch schlimmer. Bei meinen Tests sind aber erfreulicherweise keine Probleme aufgetreten. Im App Center führt Entdecken / Jump start your desktop in die Sammlung Ubuntu Desktop, die auf bisher vorinstallierte Pakete verweist.

Eine Rubrik im neuen App Center offeriert wichtige Office-Programme ausschließlich im Snap-Format

Eines sollte Ihnen aber klar sein: Anders als manche Tester von Ubuntu 23.10 geschrieben haben, werden mit dem App Center ausschließlich Snap-Pakete installiert. Ob das gewünschte Programm auch im Debian-Format zur Verfügung steht oder nicht, spielt keine Rolle. Für das App Center gilt Snap only. Falls Sie Debian-Pakete vorziehen, müssen Sie diese nun im Terminal mit apt suchen und installieren (also z.B. apt install gimp). In Ubuntu gibt es keine (vorinstallierte) grafischer Oberfläche mehr, um Debian-Pakete zu installieren.

Das App Center ist auch insofern ein Rückschritt, als es nicht in der Lage ist, heruntergeladene Debian-Pakete zu installieren. Wenn Sie im Webbrowser die gerade heruntergeladene *.deb-Datei anklicken, erhalten Sie die Fehlermeldung, dass es kein (grafisches) Programm zur Verarbeitung von *.deb-Dateien gibt. Sie müssen die Installation wie folgt durchführen:

sudo apt install ~/Downloads/name.deb

Platzbedarf

Ich habe in der Vergangenheit oft über den immensen Platzbedarf von Snap-Paketen geschimpft, sowohl auf der SSD als auch (nach dem Start) im Arbeitsspeicher. Für diesen Artikel wollte ich diese Aussagen mit neuem Zahlenmaterial untermauern, bin aber auf überraschende Ergebnisse gestoßen.

Die neue »Minimalinstallation« beansprucht 4,7 GByte Platz auf der SSD. Nicht mitgerechnet ist dabei die Swap-Datei /swap.img. Das Installationsprogramm richtet diese Datei je nach Hardware sehr großzügig ein (bei meinen Tests mit 3,9 GiB). Tipps, wie Sie die Swap-Datei bei Bedarf verkleinern können, folgen gleich.

Der Snap-Anteil nach einer Minimalinstallation beträgt ca. 1 GByte:

du -h -d 0 /var/lib/snapd/

  970M   /var/lib/snapd/

snap list

  Name                       Version          Revision  Tracking         Herausgeber  Hinweise
  bare                       1.0              5         latest/stable    canonical✓   base
  core22                     20230801         864       latest/stable    canonical✓   base
  firefox                    118.0.1-1        3216      latest/stable/…  mozilla✓     -
  firmware-updater           0+git.e8771be    109       latest/stable/…  canonical✓   -
  gnome-42-2204              0+git.ff35a85    141       latest/stable/…  canonical✓   -
  gtk-common-themes          0.1-81-g442e511  1535      latest/stable/…  canonical✓   -
  snap-store                 0+git.e118b05    1046      latest/stable/…  canonical✓   -
  snapd                      2.60.4           20290     latest/stable    canonical✓   snapd
  snapd-desktop-integration  0.9              83        latest/stable/…  canonical✓   -

ls -lhS /var/lib/snapd/snaps/

  -rw------- 2 root root 497M Okt 16 12:41 gnome-42-2204_141.snap
  -rw------- 2 root root 241M Okt 16 12:40 firefox_3216.snap
  -rw------- 2 root root  92M Okt 16 12:41 gtk-common-themes_1535.snap
  -rw------- 2 root root  74M Okt 16 12:41 core22_864.snap
  -rw------- 2 root root  41M Okt 16 12:41 snapd_20290.snap
  -rw------- 2 root root  12M Okt 16 12:41 firmware-updater_109.snap
  -rw------- 2 root root  11M Okt 16 12:41 snap-store_1046.snap
  ...

Ich habe nun alle Snaps aus der Rubrik Ubuntu Desktop installiert, also LibreOffice, Thunderbird, Shotwell usw., insgesamt 10 Pakete. Der Platzbedarf der Snaps steigt auf 2,8 GByte:

du -h -d 0 /var/lib/snapd/

  2,8G   /var/lib/snapd/


ls -lhS /var/lib/snapd/snaps/

  -rw------- 2 root root 1,1G Okt 18 08:39 libreoffice_300.snap
  -rw------- 2 root root 497M Okt 16 12:41 gnome-42-2204_141.snap
  -rw------- 2 root root 350M Okt 18 08:38 gnome-3-38-2004_143.snap
  -rw------- 2 root root 241M Okt 16 12:40 firefox_3216.snap
  -rw------- 2 root root 153M Okt 18 08:37 remmina_6117.snap
  -rw------- 2 root root 105M Okt 18 08:35 thunderbird_395.snap
  -rw------- 2 root root  92M Okt 16 12:41 gtk-common-themes_1535.snap
  -rw------- 2 root root  74M Okt 16 12:41 core22_864.snap
  -rw------- 2 root root  64M Okt 18 08:35 core20_2015.snap
  -rw------- 2 root root  45M Okt 18 08:35 shotwell_7.snap
  -rw------- 2 root root  41M Okt 16 12:41 snapd_20290.snap
  -rw------- 2 root root  36M Okt 18 08:35 cheese_37.snap
  -rw------- 2 root root  14M Okt 18 08:35 gnome-calendar_182.snap
  -rw------- 2 root root  12M Okt 16 12:41 firmware-updater_109.snap
  -rw------- 2 root root  11M Okt 16 12:41 snap-store_1046.snap
  -rw------- 2 root root 4,3M Okt 18 08:35 transmission_54.snap
  -rw------- 2 root root 3,6M Okt 18 08:35 gnome-mahjongg_170.snap
  ...

Der RAM-Bedarf des Ubuntu-Desktops im Leerlauf mit einem Terminal-Fenster und dem Programm Systemüberwachung beträgt laut free -h ca. 1,2 GByte. Nun habe ich Firefox (ca. 8 Sekunden), Shotwell (wieder 8 Sekunden) und LibreOffice Writer (20 Sekunden) gestartet, ohne darin aktiv zu arbeiten. Alle Tests habe ich in einer virtuellen Maschine mit 2 CPU-Cores und 4 GiB RAM durchgeführt. Auf echter Hardware sind schnellere Startzeiten zu erwarten.

Der Speicherbedarf im RAM steigt dann auf moderate 1,9 GByte an.

Kurz und gut: Der Platzbedarf von Snap-Paketen sowohl auf dem Datenträger als auch im Arbeitsspeicher ist beträchtlich, aber er ist nicht mehr so exorbitant hoch wie früher. Und je mehr Snap-Pakete parallel installiert werden, desto geringer ist der gemeinschaftliche Overhead durch die Parallelinstallation diverser Bibliotheken. (Unter Ubuntu 23.10 ist Gnome 45 installiert. Aber damit alle Snap-Pakete der Kategorie Ubuntu Desktop ausgeführt werden können, ist parallel dazu auch Gnome 42 und Gnome 3.38 erforderlich — siehe das obige Listing.)

Die Startzeiten von Programmen sind weiterhin etwas höher als bei einer gleichwertigen Installation durch Debian-Pakete, aber damit kann ich mich abfinden. Canonical hat seine Snap-Infrastruktur also in den vergangenen Jahren schrittweise verbessert. Sie funktioniert nun spürbar besser als in den ersten Versionen.

Als wichtigster Kritikpunkt bleibt der proprietäre Snap Store, der alleine durch Canonical verwaltet wird. Alternative Snap-Paketquellen sind nicht vorgesehen (ganz im Gegensatz zu Red Hats Flatpak-System).

Swap-Datei verkleinern

Sie können die Swap-Datei bei Bedarf Ihren eigenen Bedürfnissen entsprechend verkleinern:

sudo swapoff /swap.img
sudo rm /swap.img
sudo dd count=1024 bs=1M if=/dev/zero of=/swap.img  # 1024 x 1 MiB = 1 GiB
sudo chmod 600 /swap.img
sudo mkswap /swap.img
sudo swapon /swap.img

CUPS doch nicht als Snap-Paket

Canonical wollte CUPS eigentlich in ein Snap-Paket umbauen (siehe openprinting.github.io) und in dieser Form in Ubuntu integrieren. Aufgrund technischer Probleme ist dieses Vorhaben nun voraussichtlich bis Version 24.10 verschoben. Die LTS-Version 24.04 ist für derartige Experimente nicht so gut geeignet.

TPM-Verschlüsselung

Technisch sehr interessant ist Canonicals Konzept, die Verschlüsselung des Datenträgers mittels TPM (Trusted Platform Modules, also in die CPU eingebaute Kryptografie-Funktionen) abzusichern. Unter Windows, macOS, iOS und Android ist dies längst eine Selbstverständlichkeit. Mangels geeigneter Hardware habe ich diese Funktionen allerdings nicht testen können.

Aktuell bezeichnet die Dokumentation dieses Feature zudem noch als experimentell. Es wird nur ausgewählte TPM-Hardware unterstützt. Die Implementierung basiert (natürlich) auf Snap-Paketen für den Bootloader und den Kernel. Proprietäre Kernel-Module (NVIDIA) können nicht verwendet werden. Soweit ich das Konzept verstanden habe, muss das Verschlüsselungspasswort weiterhin eingegeben werden, d.h. das Hochfahren und Authentifizieren nur per Fingerabdruck ist nicht möglich. Oder, anders formuliert: Das Boot-Konzept wird sicherer, aber nicht komfortabler.

Netplan

Ubuntu verwendet mit Netplan seit 2016 ein selbst entwickeltes System zur Administration der Netzwerkverbindungen. Netplan ist vor allem bei Server-Installationen wichtig, wo es eine zentrale Rolle einnimmt. Am Desktop delegiert Netplan die Kontrolle über die WLAN-Schnittstellen dagegen an den NetworkManager. Insofern haben Desktop-Anwender Netplan nie bemerkt.

Grundsätzlich ändert sich daran auch mit Version 23.10 nichts. Neu ist aber, dass die Kommunikation zwischen dem NetworkManager und Netplan nicht länger eine Einbahnstraße ist. Bisher wusste Netplan nichts von den durch den NetworkManager verwalteten Netzwerkverbindungen. Laut dem Ubuntu Blog hat sich das mit Version 23.10 geändert: Vom NetworkManager eingerichtete Verbindungen werden nun in /etc/netplan gespeichert (und nicht mehr in /etc/NetworkManager/system-connections/). Dabei kommt die Netplan-eigene Syntax für Konfigurationsdateien zum Einsatz. Bei einem Update von älteren Ubuntu-Versionen werden vorhandene WLAN-Verbindungen automatisch nach /etc/netplan migriert.

Desktop

Ubuntu 23.10 verwendet Gnome 45 als Desktop. Mehrere vorinstallierte Shell Extensions (Desktop Icons, Ubuntu AppIndicators, Ubuntu Dock und Ubuntu Tiling Assistand) stellen sinnvolle Zusatzfunktionen zur Verfügung:

  • Das Dock kann wahlweise links, rechts oder unten platziert werden.
  • Fenster können so verschoben werden, dass diese ein Bildschirmviertel ausfüllen (Quarter Tiling). Außerdem gibt es einige fortgeschrittene Tiling-Funktionen. (Gnome ohne Erweiterungen kennt bekanntermaßen nur Bildschirmhälften, was auf einem großen Monitor mager ist.)

  • Auf dem Desktop können Icons dargestellt werden.

  • Ältere Gnome-Programme können Indikator-Icons im Panel darstellen.

Ubuntu verwendet Gnome 45 als Desktop, angereichert um ein paar Extensions für das vertikale Dock, Quarter-Tiling und Desktop-Icons

Versionsnummern

Basis             Desktop             Programmierung   Server
---------------   ------------------  ---------------  --------------
Kernel      6.5   Gnome          45   bash        5.2   Apache     2.4
glibc      2.38   Gimp         2.10   docker.io 20.10   CUPS       2.4
X-Server   21.1   LibreOffice   7.6   gcc          13   MariaDB  10.11
Wayland    1.22                       git        2.40   MySQL      8.0
Mesa       23.2                       Java         17   OpenSSH    9.3
Systemd     252                       PHP         8.2   qemu/KVM   8.0
NetworkMan 1.44                       Python     3.11   Postfix    3.8
GRUB       2.12                                         Samba     4.18

Der Fokus auf Snap macht es nicht immer ganz klar, wo welches Paket zu suchen ist. Gimp, LibreOffice, aber auch Docker (!) können als Snap-Pakete installiert werden. Programmiersprachen wie C, Java, Python oder PHP (Ausnahme: Go, siehe Kommentare) sowie Server-Anwendungen wie Apache, MySQL oder Samba sind vorerst noch gewöhnliche Debian-Pakete.

Raspberry Pi

Ubuntu 23.10 läuft auch auf dem nagelneuen Raspberry Pi 5. Einen diesbezüglichen Test habe ich schon vor ein paar Tagen veröffentlicht.

Fazit

Aus meiner Sicht ist und bleibt Ubuntu die erste Anlaufstelle für Linux-Einsteiger. Der Desktop ist optisch ansprechend, Gnome Shell Extensions helfen dort nach, wo Gnome Defizite hat. In ganz vielen Fällen gilt: It just works.

Allerdings hat sich Canonical — allen Widerständen zum Trotz — dazu entschieden, voll auf das eigene Snap-Paketformat zu setzen. Grundsätzlich funktioniert das gut. Aus der Sicht von Canonical ist es natürlich toll, nur ein Paket für verschiedene Ubuntu-Releases warten zu müssen — und die Paket-Version losgelöst von der Ubuntu-Version auch aktualisieren zu können. Canonical kann also durch die Änderung eines Pakets ein LibreOffice-Update auf das nächste Major-Release für alle gerade aktiven Ubuntu-Versionen durchführen. Diesem Vorteil steht anwenderseitig ein — sagen wir mal — großzügiger Umgang mit Ressourcen gegenüber.

Bisher konnte man als erfahrener Ubuntu-Anwender Snap-Paketen aus dem Weg gehen, also snap deinstallieren und anstelle von Snap-Paketen gleichwertige Debian-Pakete installieren. Das wird zunehmend unmöglich, und das ist letztlich auch der falsche Denkansatz. Vielmehr gilt: Wer Ubuntu sagt, muss auch Snap sagen. Und wer das nicht will, muss sich von Ubuntu verabschieden.

Ich bin deswegen auf ArchLinux umgestiegen und habe es nicht bereut. Für Linux-Einsteiger, die dem Snap-Kosmos misstrauisch gegenüberstehen, sind Debian oder Linux Mint einfachere Alternativen. Wenn Sie dagegen keine ideologischen Einwände gegen Snap haben und einen ordentlichen Rechner besitzen, ist Ubuntu samt Snap eine runde Sache.

Quellen/Links

Andere Tests

Lücke in CUPS lässt Codeausführung zu

Eine Sicherheitslücke in CUPS ermöglicht es unter Umständen Code aus der Ferne über das Netzwerk auf den betroffenen Systemen auszuführen.

Verantwortlich für das Problem ist das Paket “cups-filters”, das enthält Backends, Filter und andere Software, die benötigt wird, um den CUPS-Druckdienst auf anderen Betriebssystemen als MacOS zum Laufen zu bringen. Wer den Backend Error Handler (beh) verwende, um einen zugänglichen Netzwerkdrucker zu erstellen, öffne diese Sicherheitslücke, die dann eine entfernte Codeausführung für Nutzer mit Netzwerkzugriff ermögliche. Es würden dabei einige nicht kontrollierte Werte weitergegeben. Ein Angreifer mit Netzwerkzugriff auf den gehosteten Druckserver könnten so Systembefehle einschleusen, die im Kontext des laufenden Servers ausgeführt würden, heißt es in der Warnmeldung. Das Problem (CVE-2023-24805) sei inzwischen mit einem Commit behoben. Benutzern werde empfohlen, ein Upgrade vorzunehmen und in der Zwischenzeit den Zugriff auf Netzwerkdrucker einzuschränken.

Der Beitrag Lücke in CUPS lässt Codeausführung zu erschien zuerst auf Linux-Magazin.

❌