Zum Inhalt springen
BlogSicherheitLinode Security Digest Mai 22-Mai 29, 2023

Linode Security Digest Mai 22-Mai 29, 2023

Linode Security Digest

In der Zusammenfassung dieser Woche geht es um folgende Themen:

  • Linux NetFilter use-after-free Kernel-Schwachstelle
  • WordPress Core v6.2 XSS/CSRF/Directory Traversal Schwachstellen
  • Linux OverlayFS Sicherheitslücke
CVE-2023-32233: Linux NetFilter Kernel-Schwachstelle

Hintergrund

NetFilter ist ein in den Linux-Kernel integriertes Framework für Paketfilterung und Netzwerkadressübersetzung zur Verwaltung des Netzwerkverkehrs. Es wird von Userspace-Dienstprogrammen wie iptables, UFW und nft gesteuert. Sowohl iptables als auch nftables basieren auf NetFilter, wobei nftables die modernere Implementierung ist. Systemadministratoren verwenden diese Werkzeuge, um lokale Firewall-Regeln zu konfigurieren und den Netzwerkverkehr zu überwachen. 

Schwachstelle

Die Schwachstelle, die als CVE-2023-32233 verfolgt wird, ist eine Use-after-free-Schwachstelle im Modul "nf_tables" von NetFilter. "nf_tables" ist auf den meisten Linux-Betriebssystemen standardmäßig aktiviert. "Nf_tables" akzeptiert ungültige Konfigurationen, die in einigen Szenarien problematisch werden, wenn eine ungültige Batch-Operation durchgeführt wird. Wenn die ungültige Batch-Operation auf eine bestimmte Art und Weise gestaltet ist, kann sie zu einem beschädigten internen Zustand innerhalb des Linux-Kernels führen. Dies geschieht, weil das "nf_tables"-Modul anonyme Sets (eine Art von Set ohne Namen, dem vom Kernel ein Bezeichner zugewiesen wird) nicht richtig behandelt. 

Der beschädigte Zustand kann ausgenutzt werden, um beliebige Lese- und Schreibvorgänge im Kernel-Speicher durchzuführen. Dies kann ausgenutzt werden, um die Privilegien des lokalen Benutzers zu erweitern. Alle Versionen des Linux-Kernels vor Version 6.3.1 sind anfällig für diese Schwachstelle.

Es ist zu beachten, dass ein Angreifer Zugang zu einem Linux-System haben muss, bevor er versucht, diese Sicherheitslücke auszunutzen. Außerdem muss er über CAP_NET_ADMIN-Berechtigungen verfügen und die Möglichkeit haben, NetFilter direkt über den Drittanbieter API zu manipulieren.

Die Auswirkungen dieser Sicherheitslücke sind hoch, da sie ein Modul betrifft, das auf vielen Linux-Betriebssystemen standardmäßig aktiviert ist. Außerdem wurde ein Proof-of-Concept veröffentlicht, was die Wahrscheinlichkeit erhöht, dass diese Sicherheitslücke in freier Wildbahn ausgenutzt wird.

Milderung

  • Es wird dringend empfohlen, den Linux-Kernel auf Ihren Systemen auf Version 6.3.2 oder höher zu aktualisieren.
  • Unprivilegierte Benutzernamensräume deaktivieren
WordPress Core v6.2 XSS/CSRF/Directory Traversal Schwachstellen

Hintergrund

WordPress besteht aus mehreren Teilen: Core, Datenbank, Themes und Plugins. WordPress Core ist die Grundlage für den Rest der WordPress-Plattform und ermöglicht alle Verwaltungs- und Managementfunktionen. 

Schwachstellen

WordPress Core v6.2 hat mehrere Sicherheitslücken, die wir behandeln werden.

CVE-2023-2745: Verzeichnisumgehung

Diese Sicherheitslücke, die als CVE-2023-2745 verfolgt wird, ermöglicht es einem Angreifer, durch Ausnutzung des "wp_lang"-Parameters einen Directory Traversal über eine WordPress-Site durchzuführen. Angreifer können auf beliebige Sprachübersetzungsdateien zugreifen und diese laden. Wenn ein Angreifer über ausreichenden Zugriff verfügt, um Übersetzungsdateien hochzuladen, kann diese Schwachstelle auch für Cross-Site-Scripting genutzt werden.

CVE ausstehend: Cross-Site Request Forgery (CSRF)

Diese Sicherheitslücke, die zum Zeitpunkt der Erstellung dieses Artikels noch keine CVE-ID hat, wird durch das Fehlen einer Nonce-Validierung bei einer AJAX-Funktion verursacht. Die AJAX-Funktion mit der Bezeichnung "wp_ajax_set_attachment_thumbnail" kann missbraucht werden, um nicht authentifizierten Benutzern die Aktualisierung von Dateien zu ermöglichen, die mit Anhang-Miniaturansichten verbunden sind. Dies kann nur geschehen, wenn ein authentifizierter Benutzer eine Aktion durchführt, z. B. auf einen Link klickt.

WordPress hat festgestellt, dass es unwahrscheinlich ist, dass diese Sicherheitslücke in freier Wildbahn ausgenutzt werden kann, da eine komplexe Reihe von Ereignissen erforderlich ist, um sie auszunutzen.

CVE ausstehend: Cross-Site Scripting (XSS)

Diese Schwachstelle, für die es zum Zeitpunkt der Erstellung dieses Artikels noch keine CVE-ID gibt, wird durch eine unsachgemäße Validierung des Protokolls bei der Verarbeitung der Antwort von der oEmbed-Erkennung verursacht. oEmbded ist ein Formattyp in WordPress, der das Rendern von URLs von Websites Dritter ermöglicht. Typischerweise wird dies verwendet, wenn ein Benutzer eine andere Website in einem Kommentar verlinkt, was zu einer Vorschau der verlinkten Website führt. Angreifer, die über Contributor- und höhere Berechtigungen verfügen, können eine bösartige oEmbed-Nutzlast auf einer Drittanbieter-URL erstellen, die die Ausführung beliebiger Skripte bewirkt, wenn ein Benutzer auf diese Drittanbieter-URL zugreift. 

HINWEIS: Der ursprüngliche Patch für diese Sicherheitslücken, Version 6.2.1, hat auch eine kleinere Sicherheitslücke bei Shortcodes behoben. Die Behebung der Sicherheitslücke bei den Shortcodes führte zu einem Funktionsausfall. In Version 6.2.2 ist dieses Problem behoben. 

Milderung

  • Eine Aktualisierung von WordPress auf Version 6.2.2 oder höher wird dringend empfohlen.
CVE-2023-0386: OverlayFS-Sicherheitslücke

Hintergrund

SetUID ist eine spezielle Dateiberechtigung, die es jedem Benutzer mit Ausführungsberechtigung erlaubt, eine Binärdatei als der Benutzer oder die Gruppe auszuführen, die Eigentümer der Datei ist. Wenn das SetUID-Bit für eine Binärdatei gesetzt ist, deren Eigentümer root ist, kann jeder Benutzer mit Ausführungsrechten diese Binärdatei als root ausführen.

OverlayFS ist eine Möglichkeit, mehrere Einhängepunkte in einem Linux-Dateisystem zu einem einheitlichen Dateisystem zusammenzufassen. Es besteht aus mehreren Schichten: Lower, Upper und Overlay. 

  • Die "untere" Schicht enthält die Basis-Mountpunkte für Ihre bereits vorhandenen Daten. Der Zugriff auf die Daten erfolgt in der vorgelagerten Überlagerungsschicht.
  • Die "obere" Schicht ist als Teil des Overlay-Dateisystems definiert. Alle Dateien, die in die Überlagerungsschicht geschrieben werden, werden in die obere Schicht kopiert. Wenn Dateien in der unteren Schicht geändert werden, werden die Änderungen an die Überlagerungsschicht und dann an die obere Schicht weitergegeben.
  • Die "Überlagerungsschicht" ist die oberste Schicht des Dateisystems. Sie setzt sich aus Dateien der oberen und unteren Schicht zusammen. Auf alle Dateien kann von der Überlagerungsschicht aus zugegriffen werden.

Hier ist ein einfaches Diagramm, das zeigt, wie Datei-Änderungen durch OverlayFS propagiert werden:

OverlayFS - Einfaches Diagramm

Schwachstelle

Diese Schwachstelle wird als CVE-2023-0386 verfolgt, alle Versionen des Linux-Kernels vor 6.2-rc6 sind verwundbar. Beim HinzufÃ?gen einer Datei zu einem OverlayFS-Dateisystem Ã?berprÃ?ft die Ãœberlagerungsschicht nicht ordnungsgemÃ?ß die GÃ?ltigkeit der Benutzer/Gruppen im aktuellen Namensraum, bevor sie in die obere Schicht kopiert wird. Ein Angreifer kann eine Binärdatei mit gesetztem SUID-Bit zu einer unteren Schicht hinzufügen und dann eine Binärdatei in die obere Schicht kopieren lassen.

Ein Angreifer kann ein neues virtuelles Dateisystem und einen neuen Namespace erstellen, eine SUID-Binärdatei mit den Besitzrechten von root erzeugen und diese dann in ein OverlayFS-Dateisystem einhängen. Das OverlayFS-Dateisystem prüft nicht, ob die Benutzer-/Gruppen-Eigentümerschaft im aktuellen Namespace gültig ist, und kopiert die Binärdatei mit intakten Berechtigungen. Der Angreifer kann dann die SUID-Binärdatei von der oberen Schicht aus ausführen und seine Privilegien erhöhen.

Milderung

  • Es wird dringend empfohlen, den Linux-Kernel auf Ihren Systemen auf die neueste Version zu aktualisieren.
  • Deaktivieren Sie unprivilegierte Benutzernamensräume.

Kommentare

Kommentar abgeben

Ihre E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit *gekennzeichnet