Засварласан Exim - дахин засвар хийх. Exim 4.92 дахь шинэ алсын тушаалыг нэг хүсэлтээр гүйцэтгэх

Засварласан Exim - дахин засвар хийх. Exim 4.92 дахь шинэ алсын тушаалыг нэг хүсэлтээр гүйцэтгэх

Саяхан, зуны эхээр CVE-4.92-2019-ийн эмзэг байдлын улмаас Exim-ийг 10149 хувилбар болгон шинэчлэхийг уриалж байсан.Exim-ийг 4.92 болгож яаралтай шинэчлээрэй - идэвхтэй халдвар байна / Sudo Null IT News). Саяхан Sustes хортой програм нь энэхүү эмзэг байдлыг ашиглахаар шийдсэн нь тогтоогдсон.

Одоо яаралтай шинэчлэгдсэн бүх хүмүүс дахин "баярлах" боломжтой: 21 оны 2019-р сарын XNUMX-нд судлаач Зеронс нэн чухал эмзэг байдлыг олж илрүүлэв. TLS ашиглах үед Exim Mail Transfer agent (MTA). хувилбаруудын хувьд 4.80 4.92.1 хүртэл багтаасан, алсаас ашиглахыг зөвшөөрдөг давуу эрхтэй кодыг гүйцэтгэх (CVE-2019-15846).

Эмзэг байдал

Аюулгүй TLS холболт үүсгэх үед GnuTLS болон OpenSSL сангуудыг хоёуланг нь ашиглах үед эмзэг байдал үүсдэг.

Хөгжүүлэгч Heiko Schlittermann-ийн хэлснээр Exim дахь тохиргооны файл нь анхдагчаар TLS-г ашигладаггүй боловч олон түгээлтүүд нь суулгах явцад шаардлагатай гэрчилгээг үүсгэж, аюулгүй холболтыг идэвхжүүлдэг. Мөн Exim-ийн шинэ хувилбарууд энэ сонголтыг суулгадаг tls_advertise_hosts=* шаардлагатай гэрчилгээг бий болгох.

тохиргооноос хамаарна. Ихэнх түгээлтүүд үүнийг анхдагчаар идэвхжүүлдэг боловч Exim-д TLS серверээр ажиллахын тулд сертификат+түлхүүр хэрэгтэй. Тохиргоо хийх явцад Distros нь Cert үүсгэдэг. Шинэ Exims-д tls_advertise_hosts сонголт нь анхдагч нь "*" бөгөөд хэрэв байхгүй бол өөрөө гарын үсэг зурсан гэрчилгээ үүсгэдэг.

Сул тал нь SNI (Server Name Indication, RFC 2003-д 3546 онд нэвтрүүлсэн технологи) нь домэйн нэрний зөв гэрчилгээ авах хүсэлтийг үйлчлүүлэгчээс буруу боловсруулсантай холбоотой юм. TLS SNI стандартын түгээлт / WEBO группын блог / Sudo Null IT News) TLS гар барих үеэр. Халдагчид зүгээр л урвуу зураас ("") болон хоосон тэмдэгтээр (" ") төгссөн SNI илгээх хэрэгтэй.

Qualys-ийн судлаачид string_printing(tls_in.sni) функцэд ""-ээс буруу зайлсхийсэн алдааг илрүүлжээ. Үүний үр дүнд хэвлэх дамарын толгой файлд арын ташуу зураасыг гадагшлуулахгүйгээр бичнэ. Дараа нь энэ файлыг spool_read_header() функцээр давуу эрхтэйгээр уншдаг бөгөөд энэ нь бөөгнөрөлд хүргэдэг.

Одоогийн байдлаар Exim хөгжүүлэгчид алсын хамгаалалттай сервер дээр тушаалуудыг гүйцэтгэх замаар эмзэг байдлын PoC-ийг үүсгэсэн боловч энэ нь хараахан нийтэд нээлттэй биш байгааг тэмдэглэх нь зүйтэй. Алдааг ашиглахад хялбар тул энэ нь цаг хугацааны асуудал бөгөөд нэлээд богино хугацаа юм.

Qualys-ийн хийсэн илүү нарийвчилсан судалгааг олж болно энд.

Засварласан Exim - дахин засвар хийх. Exim 4.92 дахь шинэ алсын тушаалыг нэг хүсэлтээр гүйцэтгэх

TLS-д SNI ашиглах

Эмзэг байж болзошгүй нийтийн серверүүдийн тоо

Томоохон хостинг үйлчилгээ үзүүлэгчийн статистик мэдээгээр E-Soft Inc 1-р сарын 4.92-ний байдлаар түрээсийн серверүүд дээр 70 хувилбарыг хостуудын XNUMX гаруй хувьд ашиглаж байна.

хувилбар
Серверийн тоо
хувь

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%

Бусад хувилбарууд
25568
5.04%

E-Soft Inc компанийн статистик

Хэрэв та хайлтын систем ашигладаг бол Шодан, дараа нь серверийн мэдээллийн сан дахь 5,250,000-аас:

  • 3,500,000 орчим нь Exim 4.92 ашигладаг (1,380,000 орчим нь SSL/TLS ашигладаг);
  • 74,000 гаруй нь 4.92.1 (SSL/TLS ашигладаг 25,000 орчим) ашиглаж байна.

Тиймээс олон нийтэд танигдсан, хүртээмжтэй Exim-ийн эмзэг серверүүдийн тоо ойролцоогоор 1.5M.

Засварласан Exim - дахин засвар хийх. Exim 4.92 дахь шинэ алсын тушаалыг нэг хүсэлтээр гүйцэтгэх

Шодан дахь Exim серверүүдийг хайх

хамгаалах

  • Хамгийн энгийн, гэхдээ зөвлөдөггүй сонголт бол TLS-г ашиглахгүй байх явдал бөгөөд энэ нь имэйл мессежийг тодорхой байдлаар дамжуулахад хүргэдэг.
  • Эмзэг байдлыг ашиглахаас зайлсхийхийн тулд хувилбар руу шинэчлэх нь илүү дээр байх болно Exim Internet Mailer 4.92.2.
  • Хэрэв засварласан хувилбарыг шинэчлэх эсвэл суулгах боломжгүй бол Exim тохиргоонд ACL-ийг тохируулж болно. acl_smtp_mail дараах дүрмийн дагуу:
    # 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}}}}

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх