PinTheft ist eine Linux‑Kernel‑Privileg‑Escalation im RDS‑Subsystem, die über einen Zerocopy‑Double‑Free‑Bug und io uring‑Fixed‑Buffers einen Page‑Cache‑Overwrite ermöglicht und so Root‑Zugriff verschafft. Der Angriff erfordert lokalen Codezugriff, einen verwundbaren Kernel, ein verfügbares RDS‑Modul und die Nutzung...

Create a landscape editorial hero image for this Studio Global article: What is the “PinTheft” Linux kernel privilege escalation vulnerability, how does the exploit work (including the RDS zerocopy double‑free bu. Article summary: PinTheft is a recently disclosed Linux local privilege escalation affecting the kernel’s RDS subsystem, where an RDS zerocopy reference-count/double-free bug can be chained with io_uring fixed buffers to overwrite page-c. Topic tags: general, general web. Reference image context from search candidates: Reference image 1: visual subject "# Re: PinTheft Linux LPE. > > v12-security have shared a new Linux LPE today, PinTheft [0]. > > > PinTheft is a Linux local privilege escalation exploit for an RDS zerocopy double-" source context "Re: PinTheft Linux LPE - oss-sec" Reference image 2: visual subject "# PinTheft: New Linux Exploit Steals Kernel References to Root
Eine neu bekannt gewordene Linux‑Kernel‑Schwachstelle mit dem Namen PinTheft ermöglicht lokalen Angreifern eine Privileg‑Eskalation bis hin zu Root‑Rechten. Ausgenutzt wird ein Fehler im Reliable Datagram Sockets (RDS)‑Subsystem, der sich mit io_uring Fixed Buffers kombinieren lässt, um Speicher im Page‑Cache zu manipulieren und schließlich ein SUID‑Root‑Programm zu verändern.
Entdeckt wurde die Schwachstelle von Aaron Esau vom V12‑Security‑Team. Nachdem ein Kernel‑Patch veröffentlicht worden war, erschien auch ein öffentliches Proof‑of‑Concept‑Exploit. Wichtig: Es handelt sich um eine lokale Privileg‑Eskalation (LPE). Ein Angreifer benötigt also bereits die Möglichkeit, Code auf dem System auszuführen.
Der Bug befindet sich im RDS‑Subsystem, einem Netzwerkprotokoll des Linux‑Kernels. RDS wird vor allem in Hochleistungs‑Umgebungen eingesetzt, etwa in InfiniBand‑Clustern oder HPC‑Systemen, wo sehr schnelle Kommunikation zwischen Knoten nötig ist.
Konkret tritt der Fehler im sogenannten Zerocopy‑Send‑Pfad von RDS auf. Dieser Mechanismus erlaubt es dem Kernel, Daten direkt aus dem Userspace‑Speicher zu senden, ohne zusätzliche Kopien anzulegen. Das verbessert die Performance, macht das Speicher‑Management aber komplexer.
Die Funktion rds_message_zcopy_from_user() pinnt dabei Speicherseiten (Pages) einzeln, um sie für die Übertragung vorzubereiten. Kommt es währenddessen zu einem späteren Page Fault, versucht der Fehlerbehandlungspfad bereits gepinnte Seiten freizugeben. Unter bestimmten Bedingungen geschieht das jedoch falsch – es entsteht ein Double‑Free oder ein beschädigter Referenzzähler.
Diese Speicherinkonsistenz bildet die Grundlage für den späteren Exploit.
Die Forscher zeigten, dass sich der RDS‑Fehler mit modernen Kernel‑Mechanismen kombinieren lässt, um aus einem Speicherbug eine zuverlässige Privileg‑Eskalation zu machen.
Ein lokaler Angreifer triggert zunächst den verwundbaren Zerocopy‑Codepfad. Tritt während des Pinning‑Prozesses ein Page Fault auf, werden Seiten falsch freigegeben, obwohl sie noch referenziert werden. Das hinterlässt einen inkonsistenten Speicherzustand.
Im nächsten Schritt nutzt der Exploit io_uring Fixed Buffers. Diese Funktion ermöglicht Anwendungen, Speicherbereiche für besonders schnelle asynchrone I/O‑Operationen beim Kernel zu registrieren.
Durch gezielte Manipulation dieser Buffers kann der Angreifer die zuvor freigegebenen physikalischen Seiten kontrolliert neu belegen. Dadurch erhält er indirekten Einfluss auf den Speicherbereich, der durch den RDS‑Bug freigegeben wurde.
Ein entscheidender Punkt: Die betroffenen Speicherbereiche können Teil des Page‑Cache sein – also des Kernel‑Caches für Dateiinhalte.
Gelingt es dem Angreifer, diesen Speicher zu überschreiben, kann er den Inhalt manipulieren, den der Kernel ausliefert – ohne die eigentliche Datei auf der Festplatte zu verändern.
Im letzten Schritt zielt der Exploit auf den Page‑Cache eines SUID‑Root‑Executables. Wird dieses Programm später aus dem Cache gestartet, führt das System den manipulierten Code aus – weiterhin mit den Root‑Rechten des ursprünglichen Programms.
Das Ergebnis: Der Angreifer erhält Root‑Zugriff auf das System.
Ob ein System tatsächlich gefährdet ist, hängt stark von seiner Kernel‑Konfiguration ab.
Mehrere Sicherheitsberichte nennen Arch Linux als besonders exponiert, weil:
Deshalb wurden Arch‑Installationen früh als Testumgebung für den Exploit verwendet.
Prinzipiell kann jede Linux‑Distribution betroffen sein, wenn:
Viele Enterprise‑Distributionen aktivieren dieses Modul jedoch standardmäßig nicht.
Berichte deuten darauf hin, dass typische Installationen von Ubuntu, Debian, RHEL und AlmaLinux wahrscheinlich weniger gefährdet sind, da das RDS‑Modul dort meist nicht aktiviert ist. Administratoren sollten die konkrete Kernel‑Konfiguration jedoch überprüfen.
CloudLinux gab an, den öffentlichen Exploit auf verschiedenen Plattformversionen getestet zu haben. Laut Hersteller sind diese Systeme nicht betroffen.
Damit der Angriff funktioniert, müssen mehrere Bedingungen erfüllt sein:
Fehlt eine dieser Voraussetzungen, wird der Exploit deutlich schwieriger oder unmöglich.
Administratoren können das Risiko deutlich reduzieren.
Kernel‑Maintainer haben bereits einen Fix für den betroffenen RDS‑Code veröffentlicht. Das wichtigste Gegenmittel ist daher ein Update auf die aktuelle Kernel‑Version der Distribution.
Nach einem Kernel‑Update ist ein Neustart des Systems erforderlich, damit der Patch wirksam wird.
Wenn RDS in der eigenen Infrastruktur nicht benötigt wird, sollte das Modul nicht geladen werden.
Typische Maßnahmen sind:
rds‑ModulsDa der Exploit auf io_uring Fixed Buffers basiert, kann eine Einschränkung oder Deaktivierung für normale Benutzer die Angriffsfläche reduzieren.
Der Angriff nutzt letztlich ein SUID‑Root‑Binary. Administratoren sollten daher prüfen:
Da PinTheft lokalen Codezugriff voraussetzt, sollten besonders Multi‑User‑Systeme priorisiert gepatcht werden, etwa:
PinTheft ist ein gutes Beispiel dafür, wie moderne Kernel‑Exploits funktionieren: Sie kombinieren mehrere komplexe Subsysteme – hier RDS‑Netzwerkcode und das io_uring‑I/O‑Framework – um aus einem scheinbar kleinen Speicherfehler eine vollständige Privileg‑Eskalation zu machen.
Die wichtigste Lehre bleibt deshalb unverändert: Kernel regelmäßig aktualisieren und unnötige Module deaktivieren. Selbst selten genutzte Komponenten können sonst zu einem kritischen Angriffspunkt werden.
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
PinTheft ist eine Linux‑Kernel‑Privileg‑Escalation im RDS‑Subsystem, die über einen Zerocopy‑Double‑Free‑Bug und io uring‑Fixed‑Buffers einen Page‑Cache‑Overwrite ermöglicht und so Root‑Zugriff verschafft.
PinTheft ist eine Linux‑Kernel‑Privileg‑Escalation im RDS‑Subsystem, die über einen Zerocopy‑Double‑Free‑Bug und io uring‑Fixed‑Buffers einen Page‑Cache‑Overwrite ermöglicht und so Root‑Zugriff verschafft. Der Angriff erfordert lokalen Codezugriff, einen verwundbaren Kernel, ein verfügbares RDS‑Modul und die Nutzung von io uring‑Fixed‑Buffers, um Speicherfehler gezielt auszunutzen.
Administratoren sollten Kernel‑Updates installieren, das RDS‑Modul deaktivieren, wenn es nicht benötigt wird, und den Zugriff auf io uring für unprivilegierte Nutzer einschränken.