pwoblèm
Kòd ki rele string_interpret_escape() bay yon tanpon pou drenaj la ki baze sou gwosè aktyèl la, epi konsèy ekspoze a fini nan yon zòn andeyò limit tanpon an. An konsekans, lè w ap eseye trete yon fisèl opinyon, yon sitiyasyon rive lè w ap li done ki soti nan yon zòn andeyò limit tanpon yo atribye ba a, epi yon tantativ pou ekri yon fisèl san chape ka mennen nan ekri pi lwen pase limit tanpon an.
Nan konfigirasyon default la, vilnerabilite a ka eksplwate lè w voye done ki fèt espesyalman pou SNI lè w ap etabli yon koneksyon an sekirite ak sèvè a. Pwoblèm nan kapab tou eksplwate lè w modifye valè peerdn nan konfigirasyon ki konfigirasyon pou otantifikasyon sètifika kliyan oswa lè w ap enpòte sètifika. Atak via SNI ak peerdn posib apati de lage
Yo te prepare yon pwototip esplwate pou yon atak atravè SNI, kouri sou achitekti i386 ak amd64 sou sistèm Linux ak Glibc. Eksplwatasyon an sèvi ak kouvri done sou zòn pil wòch la, sa ki lakòz ranplase memwa kote non fichye boutèy la sere. Non fichye a ranplase ak "/../../../../../../../../etc/passwd". Apre sa, varyab la ak adrès moun k ap ekri a ranplase, ki se premye sove nan boutèy la, ki pèmèt ou ajoute yon nouvo itilizatè nan sistèm nan.
Mizajou pake ak koreksyon vilnerabilite ki pibliye pa distribisyon
Kòm yon solisyon pou bloke vilnerabilite a, ou ka enfim sipò TLS oswa ajoute
ACL seksyon "acl_smtp_mail":
refize kondisyon = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
refize kondisyon = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Sous: opennet.ru