Muutama päivä sitten ilmoitettiin, tietoa tietoturvatarkastuksesta joka paljasti viisi kriittistä haavoittuvuutta suositussa päätelaitteen multiplekserissä GNU-näyttö, jota käytetään useiden konsoli-istuntojen hallintaan yhdellä päätteellä.
Yksi niistä (CVE-2025-23395, vaarallisin haavoittuvuus) antaa hyökkääjälle mahdollisuuden saada pääkäyttäjän oikeudet haavoittuvuuksissa (haavoittuvuus vaikuttaa vain GNU Screenin versioon 5.0.0), mukaan lukien jakeluissa, kuten Fedora, Arch Linux ja NetBSD. Muut versiot, kuten Debian, Ubuntu ja RHEL, käyttävät kuitenkin edelleen 4.x-haaraa, joka ei ole altis tälle tietylle haavoittuvuudelle.
CVE-2025-23395: Kriittisten oikeuksien eskalointi
Mainitaan, että ongelma ilmenee kun GNU Screen ajetaan setuid-juuribitillä (Archin ja NetBSD:n tapauksessa), koskaja logfile_reopen()-funktio suoritetaan ennen oikeuksien alentamista, jonka avulla käyttäjä voi muokata rekisteriä ja kirjoittaa mielivaltaisia tiedostoja pääkäyttäjänä. Tyypillisellä maatilalla jaHyökkääjä poistaa alkuperäisen lokitiedoston ja korvaa sen symbolisella linkillä. järjestelmätiedostoon. Kun avaat tiedoston uudelleen, Screen kirjoittaa sen pääkäyttäjän oikeuksilla, jolloin haitallinen sisältö pääsee sisään.
Tämä ongelma vaikuttaa Screen 5.0.0 -versioon, kun sitä käytetään setuid-root-oikeuksilla. logfile_reopen()-funktio ei poista käyttöoikeuksia käyttäjän antamaa polkua käytettäessä. Tämä sallii etuoikeudettomien käyttäjien luoda tiedostoja mielivaltaisiin sijainteihin pääkäyttäjän (root) omistuksessa, kutsuvan käyttäjän (todellisen) ryhmän omistajuudella ja tiedostotilassa 0644. Kaikki Screen PTY:lle kirjoitetut tiedot kirjataan tähän tiedostoon. Myös olemassa olevia tiedostoja voidaan käyttää rekisteröintiin tällä tavalla: tiedot liitetään kyseiseen tiedostoon, mutta tiedoston tila ja omistajuus pysyvät ennallaan.
Tämä hyökkäys voi johtaa järjestelmän täydelliseen hallintaan, jos sitä hyödynnetään oikein, koska sen avulla voit muokata arkaluontoisia tiedostoja tai muuttaa käynnistysskriptejä. Fedora on osittain suojattu, koska Screen on asennettu setgid-bitin kanssa, mikä rajoittaa hyökkäyspinta-alaa.
Muita asiaankuuluvia haavoittuvuuksia
SUSE Linux -tietoturvatiimin suorittama tarkastus, tunnisti myös muita merkittäviä puutteita:
- CVE-2025-46802: Usean käyttäjän istunnoissa hyökkääjä voi saada yleiset luku- ja kirjoitusoikeudet TTY-laitteisiin, kuten /dev/pts/1, mikä vaikuttaa sekä 4.x- että 5.x-haaroihin.
- CVE-2025-46803: 5.0-haara asettaa PTY-laitteille suojaamattomia käyttöoikeuksia (0622), jolloin kuka tahansa käyttäjä voi kirjoittaa.
- CVE-2025-46804: Tietovuoto mahdollistaa tiedostojen tai hakemistojen olemassaolon päättelemisen virheilmoitusten avulla SCREENDIR-muuttujaa määritettäessä.
- CVE-2025-46805: Kilpailutilanne SIGCONT- ja SIGHUP-signaaleja lähetettäessä voi johtaa palvelunestoon.
Myös strncpy-funktion väärinkäyttöä havaittiin, mikä voi aiheuttaa kaatumisia suoritettaessa komentoja, joissa on erityistä muotoilua. Tämä on ongelma, joka on tyypillinen vain 5.0-haaralle.
SUSEn tarjoaman ylläpidon ja tuen puute
Näiden haavoittuvuuksien löytyminen on paljastanut syvempiä ongelmia GNU Screenin ylläpidossa. SUSE-tiimin mukaan Nykyiset projektin ylläpitäjät eivät täysin ymmärrä koodikantaa eikä tietoturvaongelmia, jotka pakottivat heidät kehittämään korjauksia joihinkin löydettyihin haittoihin itse. Raportti lähetettiin kehittäjille 7. helmikuuta, mutta kaikkia haavoittuvuuksia ei voitu korjata sovitun 90 päivän mittaisen korjausajan kuluessa.
Mitä tehdä, jos käytät GNU Screeniä?
Screen 5.0.0:n ja setuid-pääkäyttäjän sisältävien järjestelmien käyttäjät pitäisi päivittää välittömästi versioon 5.0.1 tai palaa tilapäisesti 4.x-versioon, jos paketteja ei ole saatavilla. Lieventävänä toimenpiteenä setuid-bitti voidaan myös poistaa Screen-suoritustiedostosta:
sudo chmod u-s /usr/bin/screen
Kuitenkin, Tämä voi vaikuttaa toiminnallisuuteen kuten istuntojen jakaminen käyttäjien välillä. Lopuksi on syytä mainita, että äskettäin julkaistu versio 5.0.1 korjaa tämän ja muita virheitä ja on nyt saatavilla jakeluissa, kuten Arch Linux ja FreeBSD.
Jos olet kiinnostunut tietämään asiasta lisää, voit tarkistaa yksityiskohdat seuraava linkki.