ืคืจื˜ื™ื ืขืœ ืคื’ื™ืขื•ืช ืงืจื™ื˜ื™ืช ื‘-Exim ื ื—ืฉืคื•

ื™ืฆื ืœืื•ืจ ืฉื—ืจื•ืจ ืžืชืงืŸ Exim 4.92.2 ืขื ื—ื™ืกื•ืœ ืฉืœ ืงืจื™ื˜ื™ ืคื’ื™ืขื•ืช (CVE-2019-15846), ืืฉืจ ื‘ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื™ื›ื•ืœื” ืœื”ื•ื‘ื™ืœ ืœื‘ื™ืฆื•ืข ืงื•ื“ ืžืจื—ื•ืง ืขืœ ื™ื“ื™ ืชื•ืงืฃ ืขื ื”ืจืฉืื•ืช ืฉื•ืจืฉ. ื”ื‘ืขื™ื” ืžื•ืคื™ืขื” ืจืง ื›ืืฉืจ ืชืžื™ื›ืช TLS ืžื•ืคืขืœืช ื•ืžื ื•ืฆืœืช ืขืœ ื™ื“ื™ ื”ืขื‘ืจืช ืื™ืฉื•ืจ ืœืงื•ื— ืฉืชื•ื›ื ืŸ ื‘ืžื™ื•ื—ื“ ืื• ืขืจืš ืฉื•ื ื” ืœ-SNI. ืคื’ื™ืขื•ืช ืžื–ื•ื”ื” ืžืืช Qualys.

ื‘ืขื™ื” ื”ื•ื•ื” ื‘ืžื˜ืคืœ ืœื‘ืจื™ื—ื” ืฉืœ ืชื•ื•ื™ื ืžื™ื•ื—ื“ื™ื ื‘ืžื—ืจื•ื–ืช (string_interpret_escape() ืž-string.c) ื•ื ื’ืจื ืžื›ืš ืฉื”ืชื• '\' ื‘ืกื•ืฃ ื”ืžื—ืจื•ื–ืช ืžืชืคืจืฉ ืœืคื ื™ ืชื• ื”-null ('\0') ื•ื‘ื•ืจื—ืช ืžืžื ื•. ื‘ืขืช ืืกืงื™ื™ืค, ื”ืจืฆืฃ '\' ื•ืงื•ื“ ืกื•ืฃ ื”ืฉื•ืจื” ื”ืืคืก ื”ื‘ื ืžื˜ื•ืคืœื™ื ื›ืชื• ื‘ื•ื“ื“ ื•ื”ืžืฆื‘ื™ืข ืžื•ืขื‘ืจ ืœื ืชื•ื ื™ื ืžื—ื•ืฅ ืœืฉื•ืจื”, ืืฉืจ ืžื˜ื•ืคืœื™ื ื›ื”ืžืฉืš ืฉืœ ื”ืฉื•ืจื”.

ื”ืงื•ื“ ื”ืงื•ืจื string_interpret_escape() ืžืงืฆื” ืžืื’ืจ ืขื‘ื•ืจ ื”ื ื™ืงื•ื– ื‘ื”ืชื‘ืกืก ืขืœ ื”ื’ื•ื“ืœ ื”ืืžื™ืชื™, ื•ื”ืžืฆื‘ื™ืข ื”ื—ืฉื•ืฃ ืžืกืชื™ื™ื ื‘ืื–ื•ืจ ืžื—ื•ืฅ ืœื’ื‘ื•ืœื•ืช ื”ืžืื’ืจ. ื‘ื”ืชืื ืœื›ืš, ื›ืืฉืจ ืžื ืกื™ื ืœืขื‘ื“ ืžื—ืจื•ื–ืช ืงืœื˜, ื ื•ืฆืจ ืžืฆื‘ ืฉืœ ืงืจื™ืืช ื ืชื•ื ื™ื ืžืื–ื•ืจ ืžื—ื•ืฅ ืœื’ื‘ื•ืœื•ืช ื”ืžืื’ืจ ื”ืžื•ืงืฆื”, ื•ื ื™ืกื™ื•ืŸ ืœื›ืชื•ื‘ ืžื—ืจื•ื–ืช ืœืœื ืžื•ืฆื ื™ื›ื•ืœ ืœื”ื•ื‘ื™ืœ ืœื›ืชื™ื‘ื” ืžืขื‘ืจ ืœื’ื‘ื•ืœื•ืช ื”ืžืื’ืจ.

ื‘ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ, ื ื™ืชืŸ ืœื ืฆืœ ืืช ื”ืคื’ื™ืขื•ืช ืขืœ ื™ื“ื™ ืฉืœื™ื—ืช ื ืชื•ื ื™ื ืฉืชื•ื›ื ื ื• ื‘ืžื™ื•ื—ื“ ืœ-SNI ื‘ืขืช ื™ืฆื™ืจืช ื—ื™ื‘ื•ืจ ืžืื•ื‘ื˜ื— ืœืฉืจืช. ื ื™ืชืŸ ืœื ืฆืœ ืืช ื”ื‘ืขื™ื” ื’ื ืขืœ ื™ื“ื™ ืฉื™ื ื•ื™ ืขืจื›ื™ Peerdn ื‘ืชืฆื•ืจื•ืช ื”ืžื•ื’ื“ืจื•ืช ืœืื™ืžื•ืช ืื™ืฉื•ืจ ืœืงื•ื— ืื• ื‘ืขืช ื™ื™ื‘ื•ื โ€‹โ€‹ืื™ืฉื•ืจื™ื. ื”ืชืงืคื” ื‘ืืžืฆืขื•ืช SNI ื•-peerdn ืืคืฉืจื™ืช ื”ื—ืœ ืžื”ืฉื—ืจื•ืจ Exim 4.80, ืฉื‘ื• ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคื•ื ืงืฆื™ื” string_unprinting() ืœื‘ื™ื˜ื•ืœ ื”ื“ืคืกืช ื”ืชื•ื›ืŸ ืฉืœ peerdn ื•-SNI.

ืื‘ ื˜ื™ืคื•ืก ื ื™ืฆื•ืœ ื”ื•ื›ืŸ ืœื”ืชืงืคื” ื‘ืืžืฆืขื•ืช SNI, ื”ืคื•ืขืœ ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช i386 ื•-amd64 ื‘ืžืขืจื›ื•ืช ืœื™ื ื•ืงืก ืขื Glibc. ื”ื ื™ืฆื•ืœ ืžืฉืชืžืฉ ื‘ืฉื›ื‘ืช ื ืชื•ื ื™ื ืขืœ ืื–ื•ืจ ื”ืขืจื™ืžื”, ื•ื›ืชื•ืฆืื” ืžื›ืš ื”ื—ืœืคืช ื”ื–ื™ื›ืจื•ืŸ ืฉื‘ื• ืžืื•ื—ืกืŸ ืฉื ืงื•ื‘ืฅ ื”ื™ื•ืžืŸ. ืฉื ื”ืงื•ื‘ืฅ ืžื•ื—ืœืฃ ื‘-"/../../../../../../../../etc/passwd". ืœืื—ืจ ืžื›ืŸ, ืžื•ื—ืœืฃ ื”ืžืฉืชื ื” ืขื ื›ืชื•ื‘ืช ื”ืฉื•ืœื—, ืฉื ืฉืžืจ ืชื—ื™ืœื” ื‘ื™ื•ืžืŸ, ื”ืžืืคืฉืจ ืœื”ื•ืกื™ืฃ ืžืฉืชืžืฉ ื—ื“ืฉ ืœืžืขืจื›ืช.

ืขื“ื›ื•ื ื™ ื—ื‘ื™ืœื” ืขื ืชื™ืงื•ื ื™ ืคื’ื™ืขื•ืช ืฉืคื•ืจืกืžื• ืขืœ ื™ื“ื™ ื”ืคืฆื•ืช ื“ื‘ื™ืืŸ, ืื•ื‘ื•ื ื˜ื•, ืคื“ื•ืจื”, SUSE/openSUSE ะธ FreeBSD. ื‘ืขื™ื™ืช RHEL ื•- CentOS ืœื ืจื’ื™ืฉื™ื, ืžื›ื™ื•ื•ืŸ ืฉ-Exim ืื™ื ื• ื›ืœื•ืœ ื‘ืžืื’ืจ ื”ื—ื‘ื™ืœื•ืช ื”ืจื’ื™ืœ ืฉืœื”ื (ื‘ ืืคืœ ะพะฑะฝะพะฒะปะตะฝะธะต ื›ื‘ืจ ื ื•ืฆืจ, ืื‘ืœ ื›ืจื’ืข ืœื ืžืžื•ืงื ืœืžืื’ืจ ืฆื™ื‘ื•ืจื™). ื‘ืงื•ื“ Exim ื”ื‘ืขื™ื” ื ืคืชืจืช ืขื one-liner ืชื™ืงื•ืŸ, ืืฉืจ ืžืฉื‘ื™ืช ืืช ืืคืงื˜ ื”ื”ื™ืžืœื˜ื•ืช ืฉืœ ื”ืงื• ื”ื ื˜ื•ื™ ืื ื”ื•ื ื ืžืฆื ื‘ืกื•ืฃ ื”ืฉื•ืจื”.

ื›ืคืชืจื•ืŸ ืขื•ืงืฃ ืœื—ืกื™ืžืช ื”ืคื’ื™ืขื•ืช, ืืชื” ื™ื›ื•ืœ ืœื”ืฉื‘ื™ืช ืืช ืชืžื™ื›ืช TLS ืื• ืœื”ื•ืกื™ืฃ
ืกืขื™ืฃ ACL "acl_smtp_mail":

ืชื ืื™ ื”ื›ื—ืฉื” = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
ืชื ืื™ ื”ื›ื—ืฉื” = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”