Detay sou vilnerabilite kritik nan Exim revele

pibliye liberasyon korektif Exim 4.92.2 ak eliminasyon kritik frajilite yo (CVE-2019-15846), ki nan konfigirasyon default la ka mennen nan ekzekisyon kòd aleka pa yon atakè ki gen privilèj rasin. Pwoblèm nan parèt sèlman lè sipò TLS pèmèt epi li eksplwate lè w pase yon sètifika kliyan ki fèt espesyalman oswa yon valè modifye bay SNI. Vulnerabilite idantifye pa Qualys.

pwoblèm prezan nan okipe a pou chape karaktè espesyal nan fisèl la (string_interpret_escape () soti nan string.c) epi li se koze pa karaktè '\' nan fen fisèl la ke yo te entèprete anvan karaktè a nil ('\0') ak chape li. Lè yap chape, sekans '\' ak kòd fen liy nil sa a yo trete kòm yon karaktè sèl epi konsèy la deplase nan done ki deyò liy lan, ki trete kòm yon kontinyasyon liy lan.

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 Exim 4.80, kote yo te itilize fonksyon string_unprinting() pou retire kontni peerdn ak SNI yo.

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 dbyan, Ubentu, Feutr, SUSE/openSUSE и FreeBSD. Pwoblèm RHEL ak CentOS pa sansib, depi Exim pa enkli nan depo pakè regilye yo (nan CHO aktyalizasyon deja fòme, men pou kounye a pa plase nan yon depo piblik). Nan kòd Exim se pwoblèm nan fiks ak yon sèl-revètman plak, ki enfim efè a chape nan backslash la si li se nan fen liy lan.

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

Add nouvo kòmantè