เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™ Exim เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบฎเบฒเบ.

เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅ Exim เบเปเบฒเบ™เบปเบ” เบชเปเบฒเบ„เบฑเบ™ เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญ (CVE-2019-10149), เบŠเบถเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบฎเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป crafted เบžเบดเป€เบชเบ”. เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบนเบ”เบฎเบตเบ”เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เบชเบฐเบšเบฑเบšเบˆเบฒเบ 4.87 เบซเบฒ 4.91 เบฅเบงเบกเบ—เบฑเบ‡เบซเบผเบทเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ”เป‰เบงเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ EXPERIMENTAL_EVENT.

เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบญเบฒเบเบฒเบ™เปเบŠเบเบŠเป‰เบญเบ™เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ "เบขเบทเบ™เบขเบฑเบ™ = เบœเบนเป‰เบฎเบฑเบš" ACL เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆเบขเบนเปˆเบžเบฒเบเบ™เบญเบ. เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบฒเบ‡เป„เบเบชเบฒเบกเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰เป€เบกเบทเปˆเบญเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบ—เปเบฒเปœเป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™ MX เบฎเบญเบ‡เบชเปเบฒเบฅเบฑเบšเป‚เบ”เป€เบกเบ™เบญเบทเปˆเบ™, เบเบฒเบ™เบ–เบญเบ™ "verify=recipient" ACL, เบซเบผเบทเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเบเบฑเบš local_part_suffix). เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบฒเบ‡เป„เบเบเปเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ–เป‰เบฒเบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบฎเบฑเบเบชเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบŠเบตเบšเป€เบงเบตเป€เบ›เบตเบ”เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ 7 เบกเบทเป‰ (เบ•เบปเบงเบขเปˆเบฒเบ‡: เบชเบปเปˆเบ‡เปœเบถเปˆเบ‡เป„เบšเบ•เปเปˆเบ™เบฒเบ—เบตเป€เบžเบทเปˆเบญเบ‚เป‰เบฒเบกเป€เบงเบฅเบฒเปเบปเบ”เป€เบงเบฅเบฒ). เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบงเปˆเบฒเบกเบต vectors เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒ.

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป€เบเบตเบ”เบˆเบฒเบเบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบœเบนเป‰เบฎเบฑเบšเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ deliver_message() เบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ /src/deliver.c. เป‚เบ”เบเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบขเบนเปˆ, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบฅเบฒเบงเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบœเปˆเบฒเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆ execv () เบ—เบตเปˆเบกเบตเบชเบดเบ”เบ—เบดเบฎเบฒเบ. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเบ™เบดเบเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ overflows buffer เบซเบผเบทเบ„เบงเบฒเบกเป€เบชเบเบซเบฒเบเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ; เบเบฒเบ™เบ›เปˆเบฝเบ™เบ•เบปเบงเปเบšเบšเบ‡เปˆเบฒเบเป†เปเบกเปˆเบ™เบžเบฝเบ‡เบžเป.

เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เบ—เบตเปˆเบขเบนเปˆ:

deliver_localpart = expand_string(
string_sprintf("${local_part:%s}", new->เบ—เบตเปˆเบขเบนเปˆ));
deliver_domain = expand_string(
string_sprintf("${domain:%s}", new->เบ—เบตเปˆเบขเบนเปˆ));

เบŸเบฑเบ‡เบŠเบฑเบ™ expand_string() เปเบกเปˆเบ™เบ•เบปเบงเบฅเบงเบกเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบฎเบฑเบšเบฎเบนเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ โ€œ${run{command arguments}โ€, เป€เบŠเบดเปˆเบ‡เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบžเบฒเบเบ™เบญเบ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเป‚เบˆเบกเบ•เบตเบžเบฒเบเปƒเบ™เป€เบŠเบ”เบŠเบฑเบ™ SMTP, เบœเบนเป‰เปƒเบŠเป‰เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบŠเบฑเปˆเบ™ 'RCPT TO โ€œusername+${run{...}}@localhostโ€', เป€เบŠเบดเปˆเบ‡ localhost เปเบกเปˆเบ™เปœเบถเปˆเบ‡เปƒเบ™ host เบˆเบฒเบเบฅเบฒเบเบŠเบทเปˆ local_domains, เปเบฅเบฐเบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

เบ–เป‰เบฒเป€เบŠเบตเบšเป€เบงเบตเป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™ mail relay, เบกเบฑเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฒเบเป„เบฅเบเบฐเป„เบ 'RCPT TO โ€œ${run{...}}@relaydomain.comโ€', เป€เบŠเบดเปˆเบ‡ relaydomain.com เปเบกเปˆเบ™เปœเบถเปˆเบ‡เปƒเบ™เป‚เบฎเบ”เบ—เบตเปˆเบกเบตเบฅเบฒเบเบŠเบทเปˆเบขเบนเปˆเปƒเบ™ relay_to_domains. เบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ Exim เบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเบฅเบธเบ”เบฅเบปเบ‡เบฎเบนเบšเปเบšเบšเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ” (deliver_drop_privilege = false), เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™ "${run{...}}" เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบฎเบฒเบ.

เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบˆเบธเบ”เบญเปˆเบญเบ™เปเบกเปˆเบ™ เบฅเบปเบšเบฅเป‰เบฒเบ‡ เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ 4.92 เบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™เป€เบ”เบทเบญเบ™เบเบธเบกเบžเบฒ, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ™เบฑเป‰เบ™เบซเบ™เบฑเบเบงเปˆเบฒเบเบฒเบ™เปเบเป‰เป„เบ‚เบญเบฒเบ”เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž. เบšเปเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบงเปˆเบฒเบกเบตเบเบฒเบ™เบ›เบดเบ”เบšเบฑเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป‚เบ”เบเป€เบˆเบ”เบ•เบฐเบ™เบฒเป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Exim, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡. เปเบเป‰เป„เบ‚ เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบฅเบฐเบˆเบธเบ”เบญเปˆเบญเบ™เป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป‚เบ”เบ Qualys เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ Exim.

เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เบœเปˆเบฒเบ™โ€‹เบกเบฒโ€‹เบ—เบตเปˆโ€‹เบชเบทเบšโ€‹เบ•เปเปˆโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹ เป€เบžเบตเป‰เบก. เบเบฒเบ™เปเบเป‰เป„เบ‚เบเบฒเบ™เปเบเป‰เป„เบ‚เบชเปเบฒเบฅเบฑเบšเบชเบฒเบ‚เบฒเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบšเป€เบ”เบทเบญเบ™เบกเบดเบ–เบธเบ™เบฒ 11th. เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เปเบžเบฑเบเป€เบเบ”เปเบกเปˆเบ™เบเบฝเบกเบžเป‰เบญเบกเปเบฅเป‰เบง Debian, Ubuntu, openSUSE. Arch Linux ะธ Fedora เบžเบงเบเป€เบ‚เบปเบฒเบชเบฐเบซเบ™เบญเบ‡เบชเบฐเบšเบฑเบš 4.92, เป€เบŠเบดเปˆเบ‡เบšเบฑเบ™เบซเบฒเบšเปเปˆเบ›เบฒเบเบปเบ”. เบšเบฑเบ™เบซเบฒ RHEL เปเบฅเบฐ CentOS เบšเปเปˆเบญเปˆเบญเบ™เป„เบซเบง, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ Exim เบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบŠเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™