ClickCease Schwachstelle im Code von netfilter ermöglicht lokale Privilegienerweiterung

Abonnieren Sie unseren beliebten Newsletter

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.

Schwachstelle im Code von netfilter ermöglicht lokale Privilegienerweiterung

23. Februar 2022. TuxCare PR Team

Viele Spitzentechnologien in der IT-Branche, und zwar die meisten, bauen auf bestehenden Funktionen auf. Container sind ein Paradebeispiel dafür. Diese leichtgewichtige Virtualisierungsschicht baut auf einer Grundlage auf, die sich unter anderem stark auf C-Gruppen stützt. Cgroups, auch Kontrollgruppen genannt, sind eine Abstraktion, die es ermöglicht, bestimmte Systemkomponenten wie Speicher, CPU oder Netzwerk nach Zugriffsebenen zu trennen. Dies ist nützlich, um Teile des Systems vor bestimmten Prozessen, die darauf laufen, zu verstecken, so dass einige Prozesse "isoliert" vom Rest des Systems oder "in einem Container" laufen können.

Diese Überlagerung von Technologien birgt jedoch einige Risiken. Wenn eine Sicherheitslücke auftritt, die eine der Basiskomponenten betrifft, ist der gesamte Stack potenziell angreifbar. So geschehen bei CVE-2022-25636, einer kürzlich bekannt gewordenen Sicherheitslücke, die den Netzwerkcode von cgroups betrifft. Sie betrifft Distributionen mit Kernel 4.18.0-240.el8 und höher (RHEL 8 und Derivate wie AlmaLinux 8, CentOS 8, Oracle EL 8, sowie Ubuntu und andere). Sie ermöglicht die Ausweitung von Privilegien für lokale Benutzer. Patches für KernelCare Enterprise werden in Kürze zur Verfügung gestellt und dieser Beitrag wird aktualisiert, um die Verfügbarkeit zu berücksichtigen, sobald dies geschieht.

Das eigentliche Problem besteht in der Funktion nft_fwd_dup_netdev_offload in der Datei net/netfilter/nf_dup_netdev.c im Quellcodebaum des Linux-Kernels. Diese Datei ist Teil von netfilter, dem Code, der für die Verwaltung von Netzwerkpaketen zuständig ist und auf dem gängige Dinge wie die iptables-Firewall-Technologie basieren. Der spezielle Code wird in erster Linie im Zusammenhang mit Netzwerk-C-Gruppen verwendet, die wiederum von Containern verwendet werden, wo er die Trennung des Netzwerkverkehrs zwischen verschiedenen Containern und dem Host-System ermöglicht.

Es wurde entdeckt, dass ein lokaler Benutzer einen Out-of-Bounds-Speicherzugriff in dieser Funktion auslösen und bestimmte Speicherstellen beschädigen kann. Der ursprüngliche Bericht über die Sicherheitslücke enthielt Exploit-Code, der das Problem aufzeigte und eine lokale Rechteerweiterung ermöglichte. Diese Sicherheitslücke wurde mit 7,8 (CVSS 3) bewertet, was die Auswirkungen und die Einfachheit der Ausnutzung sowie das Vorhandensein eines leicht verfügbaren Exploit-Codes widerspiegelt.

Während der betroffene Code mit Version 5.4 des Linux-Kernels eingeführt wurde, wurde er im Rahmen der normalen Support-Prozesse in ältere Versionen wie die der Enterprise Linux 8-Distributionen (RHEL 8, CentOS 8, AlmaLinux 8 usw.) zurückportiert. In diesen Fällen können Sie überprüfen, ob die laufende Kernel-Version 4.18.0-240.el8 oder höher ist, und falls ja, ist das System anfällig.

Es gibt Abhilfemaßnahmen, die auf betroffene Systeme angewendet werden können, bis ein Patch zur Verfügung steht, aber sie sind in hohem Maße davon abhängig, dass die betroffenen Funktionen nicht kritisch sind. Wenn das System mit Containern arbeitet, sind diese betroffen, und bei der Abwägung der Vor- und Nachteile solcher Abhilfemaßnahmen sollte nach bestem Wissen und Gewissen vorgegangen werden. Es ist möglich, die betroffenen Funktionen zu vermeiden, indem man sie ausführt:

echo 0 > /proc/sys/user/max_user_namespaces

Diese Änderung wird beim Neustart des Systems rückgängig gemacht. Eine detailliertere und dauerhafte Methode zur Deaktivierung dieser Funktion finden Sie im Abschnitt "Mitigation", den Sie hier finden. Auch hier ist es wichtig zu betonen, dass dies Auswirkungen auf die reguläre Container-Ausführung hat und nur dort eingesetzt werden sollte, wo dies akzeptabel ist. Zum Beispiel, wenn auf dem System keine containerisierten Arbeitslasten ausgeführt werden.

Live-Patches für unterstützte und betroffene Distributionen sind in Vorbereitung und werden in den nächsten Tagen für Abonnenten des KernelCare Enterprise Service zur Verfügung gestellt. Dieser Beitrag wird aktualisiert, um die tatsächliche Verfügbarkeit der Patches wiederzugeben, sobald die Entwicklung und die Tests für jede Distribution abgeschlossen sind.

Weitere Informationen zu KernelCare Enterprise und anderen TuxCare-Produkten, die Ihre Systemsicherheit erhöhen, ohne Ihre Betriebszeit zu beeinträchtigen, finden Sie unter https://tuxcare.com/live-patching-services/.

Möchten Sie das Patchen von Sicherheitslücken ohne Kernel-Neustart, Systemausfallzeiten oder geplante Wartungsfenster automatisieren?

Erfahren Sie mehr über Live-Patching mit TuxCare

Werden Sie ein TuxCare-Gastautor

Los geht's

E-Mail

Beitreten

4,500

Linux & Open Source
Fachleute!

Abonnieren Sie
unseren Newsletter