GNU Screen tika atklātas vairākas ievainojamības, kas ļāva iegūt root privilēģijas.

neaizsargātība

Pirms dažām dienām tika paziņots, informācija par drošības auditu kas atklāja piecas kritiskas ievainojamības populārajā termināļa multipleksorā GNU ekrāns, ko izmanto vairāku konsoles sesiju pārvaldībai vienā terminālī.

Viens no tiem (CVE-2025-23395, visbīstamākā ievainojamība) ļauj uzbrucējam iegūt root privilēģijas skartajās sistēmās (ievainojamība ietekmē tikai GNU Screen 5.0.0 versiju), tostarp tādās izplatībās kā Fedora, Arch Linux, NetBSD un citās. Tomēr citas versijas, piemēram, Debian, Ubuntu un RHEL, joprojām izmanto 4.x atzaru, kas nav neaizsargāta pret šo konkrēto trūkumu.

CVE-2025-23395: Kritisku privilēģiju eskalācija

Tiek minēts, ka problēma rodas kad GNU Screen tiek palaists ar setuid root bitu (Arch un NetBSD gadījumā), joun logfile_reopen() funkcija tiek izpildīta pirms privilēģiju samazināšanas, kas ļauj lietotājam manipulēt ar reģistru, lai ierakstītu patvaļīgus failus kā root. Tipiskā saimniecībā unUzbrucējs izdzēš sākotnējo žurnālfailu un aizstāj to ar simbolisku saiti. uz sistēmas failu. Atverot failu atkārtoti, Screen ieraksta to ar root atļaujām, ļaujot iekļūt ļaunprātīgajam saturam.

Šī problēma ietekmē Screen 5.0.0, ja tā darbojas ar setuid-root privilēģijām. Funkcija logfile_reopen() neatceļ privilēģijas, darbojoties lietotāja norādītajā ceļā. Tas ļauj lietotājiem bez privilēģijām izveidot failus patvaļīgās vietās ar root īpašumtiesībām, izsaucošā lietotāja (reālajām) grupas īpašumtiesībām un faila režīmu 0644. Visi dati, kas ierakstīti Screen PTY, tiks reģistrēti šajā failā. Šādā veidā reģistrēšanai var izmantot arī esošos failus: dati tiks pievienoti attiecīgajam failam, bet faila režīms un īpašumtiesības paliks nemainīgas.

Šis uzbrukums pareizi izmantotas, var nodrošināt pilnīgu sistēmas kontroli, jo tas ļauj modificēt sensitīvus failus vai mainīt startēšanas skriptus. Fedora ir daļēji aizsargāta, jo Screen ir instalēts ar setgid bitu, kas ierobežo uzbrukuma virsmu.

Citas būtiskas ievainojamības

Auditu veica SUSE Linux drošības komanda., arī identificēja citas būtiskas nepilnības:

  • CVE-2025-46802: Vairāku lietotāju sesijās uzbrucējs var iegūt globālas lasīšanas un rakstīšanas atļaujas TTY ierīcēs, piemēram, /dev/pts/1, ietekmējot gan 4.x, gan 5.x atzarus.
  • CVE-2025-46803: 5.0 atzars iestata nedrošas atļaujas (0622) PTY ierīcēm, ļaujot rakstīt jebkuram lietotājam.
  • CVE-2025-46804: Informācijas noplūde ļauj secināt failu vai direktoriju esamību, izmantojot kļūdu ziņojumus, definējot mainīgo SCREENDIR.
  • CVE-2025-46805: Sacensības stāvoklis, sūtot SIGCONT un SIGHUP signālus, var izraisīt pakalpojuma atteikumu.

Tika atklāta arī strncpy ļaunprātīga izmantošana, kas var izraisīt avārijas, izpildot komandas ar īpašu formatējumu, un šī problēma ir raksturīga tikai 5.0 atzaram.

SUSE apkopes un atbalsta trūkums

Šo ievainojamību atklāšana ir atklājusi dziļākas problēmas GNU Screen uzturēšanā. Saskaņā ar SUSE komandas teikto, Pašreizējie projekta uzturētāji pilnībā neizprot koda bāzi ne arī drošības problēmas, kas piespieda viņus pašiem izstrādāt ielāpus dažiem no atklātajiem trūkumiem. Ziņojums izstrādātājiem tika nosūtīts 7. februārī, taču visu ievainojamību kopumu nevarēja novērst noteiktajā 90 dienu labvēlības periodā.

Ko darīt, ja izmantojat GNU Screen?

Sistēmu lietotāji, kas ietver Screen 5.0.0 ar setuid root nekavējoties jāatjaunina uz 5.0.1 versiju vai īslaicīgi atgriezties pie 4.x versijas, ja nav pieejamas pakotnes. Kā mazināšanas pasākumu setuid bitu var noņemt arī no izpildāmā faila Screen:

sudo chmod u-s /usr/bin/screen

Tomēr, Tas var ietekmēt funkcionalitāti piemēram, sesiju koplietošana starp lietotājiem. Visbeidzot, ir vērts pieminēt, ka nesen izlaistā 5.0.1 versija novērš šo un citas kļūdas un tagad ir pieejama tādos izplatījumos kā Arch Linux un FreeBSD.

Ja Jums ir interesē uzzināt vairāk par to, sīkāku informāciju varat pārbaudīt šī saite.