Patched Exim - darn eto. Gweithredu Gorchymyn Anghysbell Ffres yn Exim 4.92 mewn un cais

Patched Exim - darn eto. Gweithredu Gorchymyn Anghysbell Ffres yn Exim 4.92 mewn un cais

Yn fwy diweddar, yn gynnar yn yr haf, roedd galwadau eang i Exim gael ei ddiweddaru i fersiwn 4.92 oherwydd bregusrwydd CVE-2019-10149 (Diweddaru Exim ar frys i 4.92 - mae haint gweithredol / Sudo Null IT News). Ac yn ddiweddar daeth i'r amlwg bod meddalwedd maleisus Sutes wedi penderfynu manteisio ar y bregusrwydd hwn.

Nawr gall pawb a ddiweddarodd ar frys “lawenhau” eto: ar Orffennaf 21, 2019, darganfu'r ymchwilydd Zerons wendid critigol mewn Asiant Trosglwyddo Post Exim (MTA) wrth ddefnyddio TLS ar gyfer fersiynau o 4.80 4.92.1 i cynhwysol, gan ganiatáu o bell gweithredu cod gyda hawliau breintiedig (CVE-2019-15846).

Bregusrwydd

Mae'r bregusrwydd yn bresennol wrth ddefnyddio'r llyfrgelloedd GnuTLS ac OpenSSL wrth sefydlu cysylltiad TLS diogel.

Yn ôl y datblygwr Heiko Schlittermann, nid yw'r ffeil ffurfweddu yn Exim yn defnyddio TLS yn ddiofyn, ond mae llawer o ddosbarthiadau yn creu'r tystysgrifau angenrheidiol yn ystod y gosodiad ac yn galluogi cysylltiad diogel. Hefyd mae fersiynau mwy newydd o Exim yn gosod yr opsiwn tls_advertise_hosts=* a chynhyrchu'r tystysgrifau angenrheidiol.

yn dibynnu ar y cyfluniad. Mae'r rhan fwyaf o distros yn ei alluogi yn ddiofyn, ond mae angen tystysgrif + allwedd ar Exim i weithio fel gweinydd TLS. Mae'n debyg bod Distros yn creu Tystysgrif yn ystod y gosodiad. Mae gan Exims Newyddach yr opsiwn tls_advertise_hosts yn rhagosod i "*" a chreu tystysgrif hunanlofnodedig, os na ddarperir un.

Mae'r bregusrwydd ei hun yn gorwedd mewn prosesu SNI yn anghywir (Dynodiad Enw Gweinyddwr, technoleg a gyflwynwyd yn 2003 yn RFC 3546 i gleient ofyn am y dystysgrif gywir ar gyfer enw parth, Dosbarthiad safon TLS SNI / Blog Grŵp WEBO / Newyddion TG Sudo Null) yn ystod ysgwyd llaw TLS. Mae angen i ymosodwr anfon diweddglo SNI gydag adlach ("") a nod null ("").

Mae ymchwilwyr o Qualys wedi darganfod nam yn y swyddogaeth string_printing(tls_in.sni), sy'n golygu dianc anghywir o “”. O ganlyniad, mae'r slaes yn cael ei ysgrifennu heb ddianc i'r ffeil pennawd sbŵl argraffu. Yna darllenir y ffeil hon gyda hawliau breintiedig gan y swyddogaeth spool_read_header(), sy'n arwain at orlif pentwr.

Mae'n werth nodi bod datblygwyr Exim ar hyn o bryd wedi creu PoC o wendidau gyda gweithredu gorchmynion ar weinydd bregus o bell, ond nid yw ar gael yn gyhoeddus eto. Oherwydd rhwyddineb ecsbloetio'r byg, dim ond mater o amser ydyw, ac yn eithaf byr.

Ceir astudiaeth fanylach gan Qualys yma.

Patched Exim - darn eto. Gweithredu Gorchymyn Anghysbell Ffres yn Exim 4.92 mewn un cais

Defnyddio SNI yn TLS

Nifer y gweinyddion cyhoeddus a allai fod yn agored i niwed

Yn ôl ystadegau gan ddarparwr cynnal mawr E-Meddal Inc o fis Medi 1, ar weinyddion ar rent, defnyddir fersiwn 4.92 mewn mwy na 70% o westeion.

fersiwn
Nifer y Gweinyddwyr
Canran

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

Fersiynau eraill
25568
5.04%

Ystadegau cwmni E-Soft Inc

Os ydych yn defnyddio peiriant chwilio Shodan, yna allan o 5,250,000 yng nghronfa ddata'r gweinydd:

  • mae tua 3,500,000 yn defnyddio Exim 4.92 (tua 1,380,000 yn defnyddio SSL/TLS);
  • dros 74,000 yn defnyddio 4.92.1 (tua 25,000 yn defnyddio SSL/TLS).

Felly, mae gweinyddwyr a allai fod yn agored i niwed Exim, sy'n hysbys i'r cyhoedd ac yn hygyrch, yn rhifo tua 1.5M.

Patched Exim - darn eto. Gweithredu Gorchymyn Anghysbell Ffres yn Exim 4.92 mewn un cais

Chwiliwch am weinyddion Exim yn Shodan

gwarchod

  • Yr opsiwn symlaf, ond heb ei argymell, yw peidio â defnyddio TLS, a fydd yn arwain at anfon negeseuon e-bost ymlaen yn glir.
  • Er mwyn osgoi camfanteisio ar y bregusrwydd, byddai'n well diweddaru'r fersiwn Postiwr Rhyngrwyd Exim 4.92.2.
  • Os yw'n amhosibl diweddaru neu osod fersiwn glytiog, gallwch osod ACL yn y ffurfweddiad Exim ar gyfer yr opsiwn acl_smtp_mail gyda'r rheolau canlynol:
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

Ffynhonnell: hab.com

Ychwanegu sylw