problemo
La kodo vokanta string_interpret_escape () asignas bufron por la drenilo bazita sur la reala grandeco, kaj la elmontrita montrilo finiĝas en areo ekster la limoj de la bufro. Sekve, kiam oni provas prilabori enigŝnuron, situacio ekestas dum legado de datumoj de areo ekster la limoj de la asignita bufro, kaj provo skribi neeskapitan ĉenon povas konduki al skribo preter la limoj de la bufro.
En la defaŭlta agordo, la vundebleco povas esti ekspluatata sendante speciale desegnitajn datumojn al SNI dum establado de sekura konekto al la servilo. La afero ankaŭ povas esti ekspluatata modifante peerdn-valorojn en agordoj agorditaj por klienta atestilo aŭ dum importado de atestiloj. Atako per SNI kaj peerdn eblas ekde liberigo
Eksploto-prototipo estis preparita por atako per SNI, funkcianta per arkitekturoj i386 kaj amd64 sur Linukso-sistemoj kun Glibc. La ekspluato uzas datumkovraĵon sur la amasareo, rezultigante anstataŭi la memoron en kiu la protokoldosiernomo estas stokita. La dosiernomo estas anstataŭigita per "/../../../../../../../../etc/passwd". Poste, la variablo kun la adreso de la sendinto estas anstataŭita, kiu unue estas konservita en la protokolo, kiu ebligas al vi aldoni novan uzanton al la sistemo.
Pakaj ĝisdatigoj kun vundeblecoj eldonitaj de distribuoj
Kiel solvo por bloki la vundeblecon, vi povas malŝalti TLS-subtenon aŭ aldoni
ACL-sekcio "acl_smtp_mail":
rifuzi kondiĉon = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
rifuzi kondiĉon = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
fonto: opennet.ru