Apuohjelmassa
"Pwfeedback" -vaihtoehto mahdollistaa "*"-merkin näyttämisen jokaisen syötetyn merkin jälkeen salasanaa syötettäessä. Koska
Ongelman ydin on, että käytettäessä erikoismerkkiä ^U (rivin tyhjennys) syötteen aikana ja jos kirjoitus epäonnistuu, koodi, joka vastaa ulostulon “*” merkkien tyhjentämisestä, nollaa tiedot käytettävissä olevan puskurin koon mukaan, mutta ei palauttaa osoittimen alkuperäisen arvon nykyiseen sijaintiin puskurissa. Toinen hyväksikäyttöön vaikuttava tekijä on se, että "pwfeedback"-moodia ei ole kytketty automaattisesti pois päältä, kun dataa ei tule päätteestä, vaan tulovirran kautta (tämä virhe mahdollistaa olosuhteiden luomisen tallennusvirheen esiintymiselle esimerkiksi järjestelmissä, joissa on yksisuuntainen
Koska hyökkääjä hallitsee täysin pinon tietojen päällekirjoittamista, ei ole vaikeaa luoda hyväksikäyttöä, jonka avulla hän voi laajentaa oikeutensa pääkäyttäjäksi. Ongelmaa voi käyttää hyväkseen kuka tahansa käyttäjä riippumatta sudo-oikeuksista tai sudoer-ohjelman käyttäjäkohtaisista asetuksista. Voit estää ongelman varmistamalla, että tiedostossa /etc/sudoers ei ole "pwfeedback"-asetusta, ja tarvittaessa poistaa se käytöstä ("Oletukset !pwfeedback"). Voit tarkistaa, onko ongelmassa, suorittamalla koodin:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Salasana: Segmentointivirhe
Lähde: opennet.ru