Linux-Kernel-Schwachstellen, die Sie kennen sollten (und die Sie ohne Neustart beheben können)
Mit der Open-Source-Community von Linux haben Sie die Möglichkeit, die Codebasis zu erweitern sowie Funktionen und Leistung zu verbessern. Allerdings bedeutet diese Umgebung auch, dass Hacker Zugriff auf den Quellcode haben, was Linux-basierte Geräte, einschließlich wichtiger Server, anfällig für potenzielle Schwachstellen macht.
Bekannte Sicherheitslücken werden an eine zentrale NIST-Datenbank für Sicherheitslücken gemeldet, in der Anbieter, Entwickler und Benutzer über Sicherheitslücken informiert werden, die bestimmte Softwareversionen betreffen. Ein CVE-Bericht (Common Vulnerabilities and Exposures - Gemeinsame Schwachstellen und Gefährdungen) dient als Signal für die Benutzer, umgehend Software-Patches anzuwenden, einschließlich derjenigen für den Linux-Kernel, um das identifizierte Problem zu beheben.
Dieser Artikel soll Ihnen dabei helfen, sich über die jüngsten Sicherheitslücken im Linux-Kernel zu informieren und Lösungen zu finden, um diese zu entschärfen, ohne dass Sie Ihre Server neu starten und Ihre Dienste unterbrechen müssen.
Linux-Kernel-Schwachstelle 2023
Jeden Monat werden neue CVEs in die öffentlich zugängliche NIST-Datenbank und mehr als 130 Sicherheitslücken wurden bereits im Linux-Kernel entdeckt. Ein Hauptproblem bei vielen der größten Sicherheitsverletzungen ist ungepatchte Software - oder veraltete Versionen dieser Software.
Wir werden mehrere kürzlich entdeckte CVEs hervorheben, die Sie kennen sollten, damit Sie Ihre Server und Geräte schützen können.
Netfilter Linux Kernel Sicherheitslücke CVE-2023-32233
CVSS 3.x Ergebnis: 7.8 (Hoch)
Netfilter ist ein Rahmenwerk für Paketfilterung und Netzwerkadressübersetzung (NAT) im Linux-Kernel. Werkzeuge wie UFW und IPtables werden zur Verwaltung dieses Rahmens verwendet.
Eine neue Schwachstelle wurde in Netfilter nf_tables entdeckt, die auf die falsche Handhabung von anonymen Sets zurückzuführen ist. Infolgedessen kann ein lokaler Benutzer diese Use-after-free-Schwachstelle ausnutzen, um Root-Rechte zu erlangen und beliebige Lese- und Schreibaufgaben im Kernel-Speicher durchzuführen.
Sicherheitslücke im Netfilter-Subsystem des Linux-Kernels (CVE-2023-0179)
CVSS 3.x Ergebnis: 7.8 (Hoch)
Eine Pufferüberlaufschwachstelle wurde auch im Netfilter-Subsystem im Linux-Kernel entdeckt. Dieses Problem könnte den Verlust von Stack- und Heap-Adressen ermöglichen und möglicherweise eine lokale Privilegieneskalation zum Root-Benutzer über die Ausführung von beliebigem Code erlauben.
Sicherheitslücke bei Leistungsereignissen im Linux-Kernel (CVE-2023-2235)
CVSS 3.x Ergebnis: 7.8 (Hoch)
Eine Use-after-free-Schwachstelle wurde im Performance Events System des Linux-Kernels gefunden. Diese Schwachstelle entstand, als die Funktion perf_group _detach den attach_state der Geschwister des Ereignisses nicht überprüfte, bevor sie add_event_to_groups() aufrief, aber remove_on_exec ermöglichte es, list_del_event() aufzurufen, bevor sie sich von ihrer Gruppe löste, wodurch es möglich war, einen Dangling Pointer zu verwenden.
Linux-Kernel SGI GRU-Treiber Sicherheitslücke (CVE-2022-3424)
CVSS 3.x Ergebnis: 7.8 (Hoch)
Eine Use-after-free-Schwachstelle wurde im SGI GRU-Treiber des Linux-Kernels entdeckt, wenn der Benutzer die erste gru_file_unlocked_ioctl-Funktion aufruft, bei der ein fehlgeschlagener Durchlauf in der gru_check_chiplet_assignment-Funktion auftritt. Ein lokaler Benutzer kann diesen Fehler ausnutzen, um einen Systemabsturz zu verursachen oder seine Privilegien auf dem System zu erweitern.
Linux-Kernel Ext4-Dateisystem-Schwachstelle (CVE-2023-1252)
CVSS 3.x Ergebnis: 7.8 (Hoch)
Eine Use-after-free-Schwachstelle wurde im Ext4-Dateisystem des Linux-Kernels entdeckt, wenn ein Benutzer mehrere Dateioperationen gleichzeitig startet, während er die Overlay-FS-Nutzung verwendet. Ein lokaler Benutzer kann diesen Fehler ausnutzen, um das System zum Absturz zu bringen oder möglicherweise seine Privilegien zu erweitern.
Es gibt weitere neue Sicherheitslücken im Linux-Kernel, die im Jahr 2023 entdeckt wurden und über die wir in einem früheren Beitrag berichtet haben: Neue Sicherheitsschwachstellen im Linux-Kernel entdeckt.
Einige Sicherheitslücken im Linux-Kernel, die Sie kennen sollten
Zusätzlich zu den aktuellen CVEs, über die wir bisher in diesem Beitrag gesprochen haben, haben wir einige der wichtigsten älteren Linux-Schwachstellen gesammelt, die Sie kennen sollten, damit Sie Ihre Linux-basierten Server und Geräte schützen können.
Schauen wir es uns an.
Heartbleed (CVE-2014-0160)
CVSS 3.x-Wert: 7.5 (Hoch)
Codenomicon hat bei einem Routinetest seiner Software eine kritische Pufferüberlese-Schwachstelle in OpenSSL "Heartbleed" entdeckt. Heartbleed wurde zu einem der schwerwiegendsten Fehler, die Server betreffen, die OpenSSL für die SSL-Verwaltung nutzen. Dieser Vorfall erinnert uns daran, dass eine einzige Codezeile zu kritischen Fehlern führen kann, da nur ein Kodierungsfehler zu der Heartbleed-Schwachstelle führte.
memcpy(bp, pl, Nutzlast);
Die Variable bp ist ein Zeiger, der die kopierten Daten empfängt, während die Variable pl ein Zeiger auf die Quelldaten ist. Und die Payload-Variable gibt die Anzahl der zu kopierenden Bytes an. Leider haben die Entwickler vergessen, die Länge der Nutzdatenvariable zu überprüfen, wodurch eine Schwachstelle entstanden ist, die Angreifer ausnutzen können.
In diesem Szenario könnte ein Angreifer eine Nutzlast von 8 Byte Daten für die pl-Variable senden, während er der Nutzlast-Variable böswillig 64 Byte zuweist. Infolgedessen würde die betroffene Software, OpenSSL, 64 Bytes an Daten anstelle der vorgesehenen 8 Bytes übertragen. Bei den verbleibenden Bytes im Speicher könnte es sich um private Schlüssel, Passwörter, Benutzerdaten oder andere Daten handeln, die in der verbleibenden Länge der Bytes im Speicher gespeichert sind. Es ist wichtig zu wissen, dass Heartbleed kein Pufferüberlauf war, sondern ein Überleseproblem. Das Fehlen einer angemessenen Überprüfung der Nutzdatenlänge führte zu einem übermäßigen Lesevorgang, der unbeabsichtigte Daten aus dem Speicher preisgab.
OpenSSL kann mit dem Parameter -DOPENSSL_NO_HEARTBEATS neu kompiliert werden, um dieses Problem vor der Anwendung des Patches zu beheben. Dieser Ansatz kann jedoch unvorhergesehene Folgen für Anwendungen haben, die auf einen SSL-Heartbeat angewiesen sind. So kann es bei Anwendungen, die von einem Heartbeat abhängig sind, zu Abstürzen, Fehlermeldungen oder Funktionsausfällen kommen. Daher ist es von entscheidender Bedeutung, der rechtzeitigen Installation von Patches Priorität einzuräumen.
KernelCare Enterprise ermöglicht es Administratoren, OpenSSL zu patchen, ohne dass ein Systemneustart erforderlich ist. So können Administratoren die Heartbleed-Schwachstelle beheben und gleichzeitig Ausfallzeiten oder potenziell riskante Entschärfungsmethoden vermeiden.
Spectre und Meltdown (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754)
CVSS 3.x-Wert: 5.6 (mittel)
Was Spectre und Meltdown von den meisten anderen CVEs unterscheidet, ist die Tatsache, dass es sich um Hardware-Probleme und nicht um softwarebezogene Probleme handelt. Diese Schwachstellen hatten globale Auswirkungen, betrafen fast jedes Gerät und zwangen Intel dazu, seinen Ansatz bei der Prozessorherstellung zu ändern. Beide Schwachstellen ermöglichen es Angreifern, aufgrund verschiedener fehlgeschlagener Berechtigungsprüfungen auf der Hardware Speicher zu lesen, der auf dem lokalen Gerät läuft.
Bei Meltdown werden Berechtigungsprüfungen umgangen und bei Spectre werden Anwendungen zum Zugriff auf privilegierten Speicher verleitet. In beiden Fällen erhält ein Angreifer Zugriff auf Betriebssystemanweisungen aus dem mit dem Kernel verknüpften physischen Speicher, die Passwörter, Schlüssel und andere sensible Daten enthalten können.
Nach der Entdeckung kündigte Intel Änderungen im Herstellungsprozess seiner Prozessoren an, um die Sicherheitslücke in neuen Prozessoren zu beseitigen. Es wurden auch Patches veröffentlicht, um das Problem zu beheben, obwohl die Benutzer einen erheblichen Leistungsabfall feststellen mussten, insbesondere auf älteren Computern.
Zwei Patches wurden veröffentlicht, um das Problem zu entschärfen: Kaiser für Meltdown und die Retpoline Patch für Spectre. Das größte Problem bei der Abschwächung ist, dass die Leistung stark beeinträchtigt wird und ein Neustart erforderlich ist, aber KernelCare wendet jedoch Patches für diese beiden Sicherheitslücken an, ohne dass ein Neustart erforderlich ist.
Mutagen Astronomie (CVE-2018-14634)
CVSS 3.x Ergebnis: 7.8 (Hoch)
Mutagen Astronomy (ein Anagramm für Too Many Arguments) ist eines der hochkritischen Probleme, das nur von einem lokalen Benutzer ausgenutzt werden kann, um Root-Rechte auf dem Linux-System zu erlangen. Ein Pufferüberlauf in der Linux-Funktion create_elf_tables() führte zur Privilegienerweiterung. Ein Angreifer kann den Wert MAX_ARG_STRINGS, der zur Begrenzung der an die Funktion übergebenen Argumente verwendet wird, überlaufen lassen und seine eigenen Umgebungsvariablen und Funktionen unter Verwendung einer SUID-Root-Binärdatei einschleusen.
Dies hat zur Folge, dass ein Angreifer seine Privilegien ausweiten, bösartige Funktionen auf dem lokalen Gerät ausführen oder eigene Umgebungsvariablen einfügen kann. Eine Aufschlüsselung des anfälligen Codes hat Qualys hier veröffentlicht hier.
Es ist wichtig zu beachten, dass diese Sicherheitslücke nicht nur voraussetzt, dass sich der Benutzer auf dem lokalen Rechner befindet, sondern der Angriff erfordert auch ein Gerät mit mehr als 16 GB RAM, auf dem ein 64-Bit-Kernel läuft. Es handelt sich jedoch um eine kritische Schwachstelle, die so schnell wie möglich gepatcht werden sollte. Die Forscher von Qualys fanden heraus, dass die meisten Linux-Benutzer nicht betroffen sind, aber die Hauptziele, die für diesen Angriff anfällig sind, sind RedHat- und CentOS-Systeme. RedHat veröffentlichte eine Abhilfeveröffentlicht, der aber immer noch einen Neustart erfordert.
Anstatt eine langwierige Umgehung anzuwenden, können Linux-Server mit KernelCare laufen, erhalten den Patch, und ein Neustart ist nicht erforderlich.
Zombieload (mikroarchitektonische Datenabtastung) CVE-2018-12207
CVSS 3.x-Wert: 6.5 (mittel)
Nach den Entdeckungen von Spectre und Meltdown wurde ein weiterer Hardwarefehler mit der Bezeichnung "Zombieload" entdeckt. Zombieload umfasst eine Reihe von Sicherheitslücken die die spekulative Befehlsfunktionalität von Mikroprozessoren ausnutzen. In dem Bestreben, die Leistung zu verbessern, versuchen Prozessoren, zukünftige Anweisungen, die wahrscheinlich als nächstes ausgeführt werden, zwischenzuspeichern.
Zombieload und andere MDS-Angriffe (Microarchitectural Data Sampling) nutzen die fehlenden Schutzgrenzen dieses Speicherbereichs aus und verleiten Anwendungen dazu, kritische Daten preiszugeben.
Um dieses Problem zu lösen, können Sie die folgenden drei Schritte zur Abhilfe unternehmen.
- Aktualisierung des Mikrocodes auf dem Prozessor
- Deaktivieren von Hyperthreading im BIOS (manuelle Anweisungen hängen von Ihrem BIOS-Hersteller ab)
- Patches für den Linux-Kernel
Abschließende Überlegungen
Auch wenn nicht jede Sicherheitslücke im Linux-Kernel eine eigene CVE erhält, ist es für Linux-Administratoren wichtig, Server regelmäßig auf Sicherheitslücken zu überprüfen und sie zu patchen, wenn eine neue gefunden wird. Die Folgen eines ungepatchten Systems können in jedem der oben genannten Fälle für das Unternehmen und seinen Ruf katastrophal sein.
TuxCare's KernelCare Enterprise kann alle oben genannten Schwachstellen ohne Systemneustart oder Ausfallzeit patchen. Mit dieser Lösung können Sie sich von Patching-Methoden verabschieden, die zeitaufwändig und risikoreich sind, die Benutzerfreundlichkeit der Software beeinträchtigen und nur vorübergehende Lösungen bieten.
Mit KernelCare werden unkritische und kritische Patches auf Ihre Server aufgespielt, sobald sie verfügbar sind, und zwar im Hintergrund, während Ihre Systeme laufen. Es gibt keine Verzögerungen, keine umständlichen Workarounds, keine Planung von Wartungsarbeiten, keine Ausfallzeiten und - was am wichtigsten ist - keine Angriffsflächen für potenzielle Angreifer.
Informationen zu KernelCare Enterprise-Patches finden Sie unter patches.kernelcare.com.


