probleem
Die kode wat string_interpret_escape() roep, ken 'n buffer toe vir die drein gebaseer op die werklike grootte, en die blootgestelde wyser beland in 'n area buite die buffer se grense. Gevolglik, wanneer 'n invoerstring probeer verwerk word, ontstaan 'n situasie wanneer data van 'n area buite die grense van die toegewese buffer gelees word, en 'n poging om 'n onontgonnen string te skryf kan lei tot skryf buite die grense van die buffer.
In die verstekkonfigurasie kan die kwesbaarheid uitgebuit word deur spesiaal ontwerpte data na SNI te stuur wanneer 'n veilige verbinding met die bediener tot stand gebring word. Die probleem kan ook uitgebuit word deur peerdn-waardes te wysig in konfigurasies wat vir kliëntsertifikaat-verifikasie opgestel is of wanneer sertifikate invoer. Aanval via SNI en peerdn is moontlik vanaf vrylating
'n Ontginningsprototipe is voorberei vir 'n aanval via SNI, wat op i386- en amd64-argitekture op Linux-stelsels met Glibc loop. Die ontginning gebruik data-oorleg op die hooparea, wat lei tot die oorskryf van die geheue waarin die loglêernaam gestoor word. Die lêernaam word vervang met "/../../../../../../../../etc/passwd". Vervolgens word die veranderlike met die sender se adres oorgeskryf, wat eers in die log gestoor word, wat jou toelaat om 'n nuwe gebruiker by die stelsel te voeg.
Pakketopdaterings met kwesbaarheidsoplossings wat deur verspreidings vrygestel is
As 'n oplossing om die kwesbaarheid te blokkeer, kan u TLS-ondersteuning deaktiveer of byvoeg
ACL-afdeling "acl_smtp_mail":
weier voorwaarde = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
weier voorwaarde = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Bron: opennet.ru