Ailagbara pataki ni Exim ti o fun laaye koodu lati ṣiṣẹ lori olupin pẹlu awọn anfani gbongbo

Ni Exim mail olupin mọ lominu ni ailagbara (CVE-2019-10149), eyiti o le ja si ipaniyan koodu isakoṣo latọna jijin lori olupin pẹlu awọn ẹtọ gbongbo nigbati o ba n ṣiṣẹ ibeere ti iṣelọpọ pataki. O ṣeeṣe ti ilokulo iṣoro naa ni a ṣe akiyesi ni awọn ẹya lati 4.87 si 4.91 pẹlu tabi nigba kikọ pẹlu aṣayan EXPERIMENTAL_EVENT.

Ninu iṣeto aiyipada, ikọlu naa le ṣee ṣe laisi awọn ilolu ti ko wulo nipasẹ olumulo agbegbe kan, niwọn igba ti ACL ti lo “ṣayẹwo = olugba, eyiti o ṣe awọn sọwedowo afikun fun awọn adirẹsi ita. Ikọlu latọna jijin le waye nigbati awọn eto ba yipada, gẹgẹbi ṣiṣe bi MX Atẹle fun agbegbe miiran, yọkuro “dajudaju=olugba” ACL, tabi awọn ayipada kan si local_part_suffix). Ikọlu latọna jijin tun ṣee ṣe ti ikọlu ba ni anfani lati jẹ ki asopọ si olupin naa ṣii fun awọn ọjọ 7 (fun apẹẹrẹ, fifiranṣẹ baiti kan fun iṣẹju kan lati fori akoko ipari). Ni akoko kanna, o ṣee ṣe pe awọn olutọpa ikọlu ti o rọrun wa fun ilokulo latọna jijin ti iṣoro naa.

Ailagbara naa ṣẹlẹ nipasẹ iṣeduro ti ko tọ ti adirẹsi olugba ni iṣẹ ifijiṣẹ_message () ti a ṣalaye ninu faili /src/deliver.c. Nipa ifọwọyi ọna kika adirẹsi, ikọlu le ṣaṣeyọri iyipada ti data rẹ sinu awọn ariyanjiyan ti aṣẹ ti a pe nipasẹ iṣẹ execv () pẹlu awọn ẹtọ gbongbo. Iṣiṣẹ ko nilo lilo awọn imọ-ẹrọ idiju ti a lo fun awọn iṣan omi ifipamọ tabi ibajẹ iranti; aropo ohun kikọ ti o rọrun ti to.

Iṣoro naa ni ibatan si lilo ikole fun iyipada adirẹsi:

deliver_localpart = expand_string (
string_sprintf("${agbegbe_apakan:%s}", new->adirẹsi));
deliver_domain = expand_string(
string_sprintf("${domain:%s}", new->adirẹsi));

Iṣẹ expand_string () jẹ akojọpọ idiju, pẹlu riri aṣẹ “${run{awọn ariyanjiyan aṣẹ}”, eyiti o yori si ifilọlẹ oluṣakoso ita. Nitorinaa, lati kọlu laarin igba SMTP, olumulo agbegbe nikan nilo lati fi aṣẹ ranṣẹ bii 'RCPT TO “orukọ olumulo+${run{...}}@localhost”', nibiti localhost jẹ ọkan ninu awọn agbalejo lati atokọ agbegbe_domains, ati orukọ olumulo jẹ orukọ olumulo agbegbe ti o wa tẹlẹ.

Ti olupin naa ba ṣiṣẹ bi isọdọtun meeli, o to lati fi aṣẹ ranṣẹ latọna jijin 'RCPT TO “${run{...}}@relaydomain.com”', nibiti relaydomain.com jẹ ọkan ninu awọn agbalejo ti a ṣe akojọ si ni relay_to_domains apakan eto. Níwọ̀n bí Exim kò ti ṣe àìfọwọ́sowọ́pọ̀ láti fi ipò ànfàní sílẹ̀ (deliver_drop_privilege = èké), àwọn àṣẹ tí a tipasẹ̀ “${run{...}}” yóò jẹ́ ṣíṣe gẹ́gẹ́ bí gbòǹgbò.

O jẹ akiyesi pe ailagbara naa jẹ imukuro ninu idasilẹ 4.92 ti a tu silẹ ni Kínní, laisi tẹnumọ pe atunṣe le ja si awọn iṣoro aabo. Ko si idi lati gbagbọ pe ifipamo mọọmọ ti ailagbara nipasẹ awọn olupilẹṣẹ Exim, nitori iṣoro naa ti wa titi lakoko. awọn atunṣe ikuna ti o waye nigbati awọn adirẹsi ti ko tọ ti tan kaakiri, ati pe ailagbara naa jẹ idanimọ nipasẹ Qualys lakoko iṣayẹwo awọn ayipada ni Exim.

Atunṣe fun awọn ẹya ti tẹlẹ ti o tẹsiwaju lati ṣee lo ni awọn pinpin lọwọlọwọ wa nikan bi alemo. Awọn idasilẹ atunṣe fun awọn ẹka iṣaaju lati ṣatunṣe iṣoro naa ni a ṣeto fun Oṣu Kẹfa ọjọ 11th. Awọn imudojuiwọn idii ti ṣetan fun Debian, Ubuntu, openSUSE. Arch Linux и Fedora Wọn pese ẹya 4.92, ninu eyiti iṣoro naa ko han. RHEL ati CentOS iṣoro ko ni ifaragba, niwon Exim ko si ninu ibi ipamọ package wọn deede.

orisun: opennet.ru

Fi ọrọìwòye kun