Haavatavus GNU screen'is, mis võimaldab käitada koodi root-õigustega

GNU screen'i konsooli akna halduri (terminaalide multiplexor) pakub konsoolis mitme akna liidest ning selles on tuvastatud 5 haavatavust. Kõige tõsisem probleem (CVE-2025-23395) võimaldab hankida root õigusi süsteemis. Parandus on sisse lülitatud tänases screen 5.0.1 väljalaskes.

Haavatavus CVE-2025-23395 ilmneb ainult screeni 5.0.0 haru puhul, mida tarnitakse Fedora Linuxis, Arch Linuxis, NetBSD-s, OpenBSD-s ja Alpine-s. Debianis, Ubuntu's, RHEL (EPEL 9), Gentoo's, FreeBSD-s, SUSE/openSUSE-s ja OpenWrt-s tarnitakse jätkuvalt screen 4.x haru. Haavatavuse ärakasutamine on võimalik süsteemides, mis seadistavad screen'i käivitatava faili setuid root lipuga, näiteks Arch Linuxis ja NetBSD-s. Fedoral on utiliit seatud setgid lipuga, et saada grupi screen õigusi, mis võimaldab paigutada sokette süsteemi katalooge /run/screen, piirates teenuse katkestamise rünnakute võimalusi.

Rikkumine tuleneb asjaolust, et root-privileegidega käivitamisel täidetakse funktsioon logfile_reopen() enne privileegide kustutamist, kuid töödeldakse andmeid praeguse mitteprivileegitud kasutaja kataloogide kontekstis, kes käivitas screeni. Oluline on märkida, et logi esialgne avamine toimub privileegide korraliku kustutamisega, kuid logifaili uuesti avamisel ei toimu privileegide kustutamist.

Kasutaja võib seansi sisu logimise režiimi lubamise kaudu saavutada andmete salvestamise faili root-õigustega, kuigi fail ise võib olla salvestatud kasutaja kodukataloogi. Rünnak koosneb loodud logifaili eemaldamisest ja selle asendamisest sümboolse lingiga, mis osutab süsteemis mis tahes failile. Kui fail juba eksisteerib, lisatakse andmed seansi screen sisu juurde, ilma omaniku muutmiseta. Kui faili ei eksisteeri, luuakse see õigustega 0644, omanikuks root ja grupiks praeguse kasutaja grupp.

Rünnaku algoritm, mis loob faili /etc/profile.d/exploit.sh koos käsuga «chown $USER /root»:

  • Seansi loomine screenis logimise lubamisega $ screen -Logfile $HOME/screen.log
  • Klaviatuuri kombinatsiooni Ctrl-a-H vajutamine logi sisselülitamiseks.
  • Logifaili kustutamine ja selle asendamine sümboolse lingiga, mis toob kaasa faili loomise /etc/profile.d/exploit.sh. $ rm $HOME/screen.log; ln -s /etc/profile.d/exploit.sh $HOME/screen.log
  • Tagasi pöördumine screen seanssi ja ekraanile andmete väljund, mis salvestatakse logifaili. $ echo -e "\nchown $USER /root;"
  • Pärast seda, kui süsteemiga on ühendatud tegelik root, käivitub skript /etc/profile.d/exploit.sh, mis muudab /root katalooge kuuluvust. $ ls -lhd /root drwxr-x— 5 user root 4.0K 30. dets 2020.
  • Sarnasel viisil on võimalik luua sudo konfiguratsioonifailid või lisada käske süsteemi skriptide lõppu.

Vähem ohtlikud haavatavused screenis:

  • CVE-2025-46802 — TTY seadme püüdmine mitme kasutaja seanssides (kasutaja võib saavutada /dev/pts/1 seadmele õiguste seadistamise crw-rw-rw-). Probleem ilmneb screeni versioonides 4.x ja 5.x.
  • CVE-2025-46803 — PTY seadme lähteseadistamine õigusteks 0622, mis lubavad kirjutamist igalt kasutajalt. Probleem ilmneb ainult screeni versioonis 5.0.
  • CVE-2025-46804 — teavefailide ja kataloogide lekkimine suletud kataloogides (kui näidatakse katalooge sokettide jaoks, annab utiliit erinevaid veateateid, mis paljastavad failide ja kataloogide olemasolu selle nimega). Probleem ilmneb screeni versioonides 4.x ja 5.x.
  • CVE-2025-46805 — võistlusolukord SIGCONT ja SIGHUP signaalide saatmisel, mis viib teenuse kättevõtmiseni. Probleem ilmneb screeni versioonides 4.x ja 5.x.
  • Vale strncpy funktsiooni kasutamine (strcpy asendamine strncpy'ga, arvesse võtmata nulltähte «\0»), mis põhjustab kokku kukkumise spetsiaalselt vormistatud käskude täitmisel. Probleem ilmneb ainult screeni versioonis 5.0.

SUSE Linux jaotuse turvameeskonna poolt läbi viidud GNU screeni koodibaasi audit näitas haavatavusi. Arendajatele saadeti haavatavuse teave 7. veebruaril, kuid 90 päeva jooksul ei suutnud nad kõigi haavatavuste parandusi ette valmistada ning SUSE töötajatel tuli mõned plaastrid ise ette valmistada. Auditit teinud teadlaste arvates ei orienteeru GNU screeni praegused hooldajad projektikoodis piisavalt hästi ning nad ei suuda täielikult probleemide tuvastamisega tegeleda.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster