versioni korrigjuese me eliminimin e kritikut (), e cila në konfigurimin e parazgjedhur mund të çojë në ekzekutimin e kodit të një sulmuesi me të drejta root. Problemi shfaqet vetëm kur aktivizohet mbështetja për TLS dhe shfrytëzohet përmes dërgimit të një certifikate klienti të formatuar në mënyrë të veçantë ose një vlere të modifikuar në SNI. Vulnerabiliteti nga kompania Qualys.
Problemi nĂ« trajtuesin e karaktereve speciale nĂ« varg ( nga string.c) dhe shkaktohet nga fakti se simboleti â\â nĂ« fund tĂ« vargut interpretohet para simbolit null (â\0â) dhe e ka tĂ« fshehur atĂ«. Kur Ă«shtĂ« i fshehur, sekuenca â\â dhe kodi null qĂ« vjen pas pĂ«rpunohen si njĂ« simbol dhe treguesi zhvendoset nĂ« tĂ« dhĂ«nat pĂ«rtej vargut, tĂ« cilat pĂ«rpunohen si vazhdim i tij.
Kodi që thërret string_interpret_escape() alokohen një tampon për vargun duke u mbështetur në madhësinë e vërtetë, dhe treguesi i vendosur përfundon në një zonë jashtë kufijve të tamponit. Si rrjedhim, kur përpiqet të trajtojë vargun hyrës, ndodh një situatë e leximit të të dhënave nga një zonë jashtë kufijve të tamponit të alokuar, dhe përpjekja për të shkruar vargun e dekriptuar mund të çojë në shkrimin përtej kufijve të tamponit.
Në konfigurimin e parazgjedhur, vulnerabiliteti mund të shfrytëzohet përmes dërgimit të të dhënave të formatuara specifikisht në SNI gjatë vendosjes së një lidhjeje të sigurt me serverin. Problemi gjithashtu mund të shfrytëzohet përmes modifikimit të vlerave peerdn në konfigurimet e krijuara për autentifikim me certifikatën e klientit, ose gjatë importit të certifikatave. Sulmi përmes SNI dhe peerdn është i mundshëm që nga lëshimi , ku funksioni string_unprinting() u përdor për dekriptuar përmbajtjen e peerdn dhe SNI.
PĂ«r njĂ« sulm pĂ«rmes SNI Ă«shtĂ« pĂ«rgatitur njĂ« prototip eksploiti, i cili funksionon nĂ« arkitekturĂ«n i386 dhe amd64 nĂ« sistemet Linux me Glibc. NĂ« eksploituar pĂ«rdoret mbivendosja e tĂ« dhĂ«nave nĂ« zonĂ«n e grumbullit, qĂ« çon nĂ« riprogramimin e kujtesĂ«s ku ruhet emri i skedarit tĂ« logut. Emri i skedarit zĂ«vendĂ«sohet me â/../../../../../../../../etc/passwdâ. MĂ« pas, riprogramohet variabla me adresĂ«n e dĂ«rguesit, i cili ruhet i pari nĂ« log, duke lejuar shtimin e njĂ« pĂ«rdoruesi tĂ« ri nĂ« sistem.
Përditësimet e paketave për eliminimin e vulnerabilitetit janë lëshuar nga shpërndarjet , , , dhe . RHEL dhe CentOS problemin , pasi Exim nuk është i përfshirë në depozitat e tij standarde të paketave (në përditësimi , por për momentin në depozitën publike). Në kodin e Exim problemi zgjidhet me një patch një-linjesh , që ndalon veprimin e ekranuar të pjesës së pasme, nëse ndodhet në fund të vargut.
Si një zgjidhje për të bllokuar vulnerabilitetin, mund të çaktivizohet mbështetja për TLS ose të shtohet në
seksioni ACL âacl_smtp_mailâ:
moho kushti = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
moho kushti = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Burimi: opennet.ru
