
Linux-Kernel-Exploit für lokale Rechteausweitung für CVE-2026-31635, der den Seiten-Cache über die In-Place-Entschlüsselung von RxRPC beschädigt, schreibgeschützte Dateien überschreibt und Shellcode ausführt, mit einem Verifizierungsmodus.
Linux lokale Privilegieneskalation im RxRPC/GSSAPI-Entschlüsselungspfad. Eine fehlende
skb_cow_data()-Prüfung inrxgk_decrypt_skb()erlaubt es einem unprivilegierten lokalen Angreifer, Page-Cache-Seiten zu beschädigen und Speicherinhalte schreibgeschützter Dateien zu überschreiben.
Dieses Repository enthält die Forschungsmaterialien und den Proof-of-Concept für CVE-2026-31635, eine lokale Privilegieneskalation im Linux-Kernel net/rxrpc/rxgk.c.
Die Schwachstelle tritt auf, wenn RxRPC Pakete direkt mit AES-CBC entschlüsselt, ohne vorher sicherzustellen, dass die Paketdaten privat sind. Wenn das Paket aus Page-Cache-Seiten besteht, kann der Kernel direkt in den gemeinsam genutzten dateibasierten Speicher entschlüsseln.
Wählen Sie den Pfad, der Ihrem Ziel entspricht:
CONFIG_RXGK überprüfen./dirtydecrypt --check ausführencd exploitmakedocs/vulnerability-analysis.md beginnendocs/patch-analysis.md und docs/exploit-development.md durchgehen⚠️ Dieses Repository ist nur für autorisierte Forschung und Tests bestimmt. Nicht gegen Systeme ohne ausdrückliche Genehmigung verwenden.
Führen Sie die folgenden Prüfungen durch, um festzustellen, ob Ihre Umgebung betroffen ist:
uname -r
zgrep CONFIG_RXGK /proc/config.gz 2>/dev/null || grep CONFIG_RXGK /boot/config-$(uname -r)
Wenn der Kernel im Bereich 6.10–6.13 liegt und CONFIG_RXGK aktiviert ist, könnte das System anfällig sein.
Verwenden Sie dann den PoC-Prüfmodus des Exploits:
cd exploit
./dirtydecrypt --check
Wenn die Prüfung erfolgreich ist, ist das System anfällig. Wenn sie sauber fehlschlägt oder fehlende RxRPC-Unterstützung meldet, ist der Kernel nicht ausnutzbar.
Der Exploit verwendet ein manipuliertes RxRPC-Paket, um den Kernel zu zwingen, in eine gemeinsame Page-Cache-Seite zu entschlüsseln.
Schritte:
rxgk_decrypt_skb() im Kernel aufrufen.Der Exploit wird in exploit/dirtydecrypt.c demonstriert.
6.10 bis 6.13CONFIG_RXGK=m oder CONFIG_RXGK=yrxgkCONFIG_RXGK standardmäßig deaktiviertgit clone https://github.com/0xFuffM3/CVE-2026-31635-DirtyDecrypt.git
cd exploit
make
Für eine vollständig statische Binärdatei:
make static
./dirtydecrypt --check
Beispielverwendung:
./dirtydecrypt -f /usr/bin/sudo -o /tmp/sudo_patched
./dirtydecrypt -p shellcode/payload.bin
docs/vulnerability-analysis.mddocs/exploit-development.mddocs/patch-analysis.mddocs/affected-kernels.mdRxRPC deaktivieren, falls nicht benötigt:
sudo rmmod rxrpc
sudo modprobe -r rxgk
echo "blacklist rxrpc" | sudo tee /etc/modprobe.d/blacklist-rxrpc.conf
Auf eine gepatchte Kernel-Version aktualisieren:
6.13.26.12.106.6.75Relevante Socket-Erstellungs- und Schlüsseloperationen überwachen:
sudo auditctl -a always,exit -F arch=b64 -S socket -F a0=28 -k rxrpc_sock
F: Kann dieser Exploit Dateien auf der Festplatte ändern?
A: Nein. Die Schwachstelle beschädigt nur den Page-Cache-Inhalt; die zugrundeliegende Datei auf der Festplatte bleibt unverändert, es sei denn, die Seite wird später zurückgeschrieben.
F: Ist diese Schwachstelle auf Kernels neuer als 6.13 vorhanden?
A: Nein, der Patch wurde zurückportiert und der anfällige Codepfad ist in Kernels nach 6.13.2 behoben.
F: Wie kann ich dies sicher testen?
A: Verwenden Sie eine isolierte VM mit einem ungepatchten Standard-Kernel und einem einmaligen Benutzerkonto.
F: Wo finde ich den Exploit-Quellcode?
A: Siehe exploit/dirtydecrypt.c und exploit/README.md.
CVE-2026-31635-DirtyDecrypt/
├── README.md
├── LICENSE
├── DISCLAIMER.md
├── CHANGELOG.md
├── exploit/
│ ├── README.md
│ ├── dirtydecrypt.c
│ ├── Makefile
│ └── shellcode/
│ └── payload.asm
└── docs/
├── vulnerability-analysis.md
├── exploit-development.md
├── affected-kernels.md
├── patch-analysis.md
└── references.md
MIT — siehe LICENSE.
Dieses Repository ist nur für Bildungszwecke und autorisierte Sicherheitsforschung bestimmt.
| Eigenschaft | Detail |
|---|
| CVE | CVE-2026-31635 |
| Komponente | net/rxrpc/rxgk.c — rxgk_decrypt_skb() |
| Ursache | Fehlende skb_cow_data()-Prüfung vor der Entschlüsselung |
| Auswirkung | Lokale Privilegieneskalation zu root |
| Betroffene Kernel | 6.10 – 6.13 |
| Behoben in | 6.13.2 · 6.12.10 · 6.6.75 |