Exim жүйесіндегі маңызды осалдықтың мәліметтері анықталды

жарияланды түзетуші босату Exim 4.92.2 сынды жоюмен осалдықтар (CVE-2019-15846), ол әдепкі конфигурацияда түбірлік құқықтары бар шабуылдаушының қашықтан кодты орындауына әкелуі мүмкін. Ақау TLS қолдауы қосылғанда ғана пайда болады және арнайы жасалған клиент сертификатын немесе өзгертілген мәнді SNI жүйесіне беру арқылы пайдаланылады. Осалдық анықталды Qualys арқылы.

проблема қазіргі жолдағы арнайы таңбалардан құтылу үшін өңдегіште (string_interpret_escape() string.c) және жолдың соңындағы '\' таңбасының нөлдік таңбаның ('\0') алдында түсіндірілуінен және одан шығуынан туындайды. Шығу кезінде '\' тізбегі және келесі нөлдік жол соңы коды бір таңба ретінде қарастырылады және көрсеткіш жолдың жалғасы ретінде қарастырылатын жолдың сыртындағы деректерге ауыстырылады.

string_interpret_escape() шақыратын код нақты өлшемге негізделген ағызу үшін буферді бөледі және ашық көрсеткіш буфер шекарасынан тыс аймақта аяқталады. Тиісінше, кіріс жолын өңдеу әрекеті кезінде, бөлінген буфердің шегінен тыс аумақтан деректерді оқу кезінде жағдай туындайды және бос жолды жазу әрекеті буфер шегінен тыс жазуға әкелуі мүмкін.

Әдепкі конфигурацияда осалдықты серверге қауіпсіз қосылымды орнату кезінде SNI-ге арнайы әзірленген деректерді жіберу арқылы пайдалануға болады. Ақаулықты клиент куәлігінің түпнұсқалығын растау үшін конфигурацияланған конфигурациялардағы тең мәндерді өзгерту немесе сертификаттарды импорттау кезінде де пайдалануға болады. SNI және peerdn арқылы шабуыл шығарылғаннан бастап мүмкін Exim 4.80, онда string_unprinting() функциясы peerdn және SNI мазмұнын басып шығару үшін пайдаланылды.

Glibc бар Linux жүйелерінде i386 және amd64 архитектураларында жұмыс істейтін SNI арқылы шабуылға эксплойт прототипі дайындалды. Эксплуатация үйме аймағындағы деректер қабатын пайдаланады, нәтижесінде журнал файлының аты сақталған жадтың қайта жазылуы. Файл атауы "/../../../../../../../../etc/passwd" дегенге ауыстырылады. Әрі қарай жіберушінің мекенжайы бар айнымалы қайта жазылады, ол алдымен журналда сақталады, бұл жүйеге жаңа пайдаланушыны қосуға мүмкіндік береді.

Дистрибьюторлар шығарған осалдықты түзетулері бар бума жаңартулары Debian, Ubuntu, Fedora, SUSE/openSUSE и FreeBSD. RHEL және CentOS мәселесі сезімтал емес, өйткені Exim олардың кәдімгі бума репозиторийіне қосылмаған ( ЖЫЛЫ обновление қазірдің өзінде қалыптасты, бірақ әзірге орналастырылмаған жалпыға ортақ репозиторийге). Exim кодында мәселе бір лайнермен бекітіледі патч, ол жолдың соңында болса, кері қиғаш сызықтың қашу әсерін өшіреді.

Осалдықты блоктау үшін уақытша шешім ретінде TLS қолдауын өшіруге немесе қосуға болады
ACL бөлімі “acl_smtp_mail”:

шартты жоққа шығару = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
шартты жоққа шығару = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

Ақпарат көзі: opennet.ru

пікір қалдыру