ongelma
Koodi, joka kutsuu string_interpret_escape(), varaa nielulle puskurin todellisen koon perusteella, ja paljastettu osoitin päätyy puskurin rajojen ulkopuolelle. Vastaavasti yritettäessä prosessoida syötemerkkijonoa syntyy tilanne, kun dataa luetaan varatun puskurin rajojen ulkopuolelta, ja yritys kirjoittaa merkkijonoa, jota ei ole pakotettu, voi johtaa puskurin rajojen ulkopuolelle kirjoittamiseen.
Oletuskokoonpanossa haavoittuvuutta voidaan hyödyntää lähettämällä erityisesti suunniteltuja tietoja SNI:lle suojattua yhteyttä muodostettaessa palvelimeen. Ongelmaa voidaan myös hyödyntää muokkaamalla peerdn-arvoja asiakkaan varmenteen todennusta varten määritetyissä konfiguraatioissa tai varmenteita tuottaessa. Hyökkäys SNI:n ja peerdn:n kautta on mahdollista julkaisusta alkaen
SNI:n kautta tapahtuvaa hyökkäystä varten on valmisteltu hyväksikäyttöprototyyppi, joka toimii i386- ja amd64-arkkitehtuureissa Linux-järjestelmissä, joissa on Glibc. Hyödyntäminen käyttää tietopeittokuvaa kasa-alueella, mikä johtaa muistin päällekirjoittamiseen, johon lokitiedoston nimi on tallennettu. Tiedoston nimi korvataan nimellä "/../../../../../../../../etc/passwd". Seuraavaksi kirjoitetaan lähettäjän osoitteella varustettu muuttuja, joka tallennetaan ensin lokiin, jolloin järjestelmään voidaan lisätä uusi käyttäjä.
Jakelujen julkaisemat haavoittuvuuskorjaukset sisältävät pakettipäivitykset
Kiertokeinona haavoittuvuuden estämiseksi voit poistaa TLS-tuen käytöstä tai lisätä
ACL-osio "acl_smtp_mail":
kieltää ehto = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
kieltää ehto = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Lähde: opennet.ru