
Tragbareres POC von copyfail LPE (CVE-2026-31431), das auf Alpine Linux funktioniert
Dies ist ein minimalerer Port von Copy Fail LPE (CVE-2026-31431), der die ersten Bytes von /etc/passwd patcht, sodass das Wechseln zu root kein Passwort erfordert. Dies reduziert die Gesamtgröße des ursprünglichen Exploits und macht ihn portabler. Distributionen wie Alpine verwenden busybox/musl anstelle einer eigenständigen su-Binärdatei und glibc-Linkage, sodass die ursprüngliche Binär-Patching-Methode im Allgemeinen nicht funktioniert. Ich wollte speziell einen Port erstellen, der auf Alpine funktioniert, aber diese Methode sollte auf fast jeder Distribution mit einem verwundbaren Kernel funktionieren, unabhängig vom zugrunde liegenden Coreutils-Format und der CPU-Architektur, da sie auf die Modifikation eines allgegenwärtigeren Ziels angewiesen ist. (Hinweis: Dieser PoC ist kein Container-Escape)
Verwende die Go-Implementierung für eine portable eigenständige Binärdatei:
go build -o exp main.go
./exp

Oder führe das Python-Skript einfach als unprivilegierter Benutzer mit python3 exp.py aus und genieße deine Root-Shell.

Getestet auf Alpine Linux 3.20.5 mit Kernel 6.6.69.
Der komprimierte Blob enthält die Bytefolge root::0:0:, die das 'x' aus dem ursprünglichen Eintrag für root (root:x:0:0:root:/root:/bin/sh) entfernt und so die Überprüfung auf ein Passwort in /etc/shadow umgeht, wenn su aufgerufen wird.
Referenzen: