Exim 4.94.2 更新修复了 10 个可远程利用的漏洞

Exim 4.94.2邮件服务器版本已发布,消除了21个漏洞(CVE-2020-28007-CVE-2020-28026、CVE-2021-27216),这些漏洞已被Qualys识别并以代号呈现21钉子。 与服务器交互时,通过操纵 SMTP 命令,可以远程利用 10 个问题(包括以 root 权限执行代码)。

Exim 的所有版本(自 2004 年以来一直在 Git 中跟踪其历史记录)都受到该问题的影响。 已针对 4 个本地漏洞和 3 个远程问题准备了漏洞利用的工作原型。 利用本地漏洞(CVE-2020-28007、CVE-2020-28008、CVE-2020-28015、CVE-2020-28012)可让您将权限提升至 root 用户。 两个远程问题(CVE-2020-28020、CVE-2020-28018)允许在未经 Exim 用户身份验证的情况下执行代码(然后您可以通过利用本地漏洞之一获得 root 访问权限)。

CVE-2020-28021 漏洞允许使用 root 权限立即远程执行代码,但需要经过身份验证的访问(用户必须建立经过身份验证的会话,之后他们可以通过操纵 MAIL FROM 命令中的 AUTH 参数来利用该漏洞)。 该问题是由于攻击者可以通过写入authentiated_sender值而无需正确转义特殊字符(例如,通过传递命令“MAIL FROM:<> AUTH = Raven + 0AReyes”来实现假脱机文件标头中的字符串替换”)。

此外,值得注意的是,另一个远程漏洞 CVE-2020-28017 可利用“exim”用户权限在未经身份验证的情况下执行代码,但需要超过 25 GB 的内存。 对于其余 13 个漏洞,也可能会准备利用漏洞,但尚未开展这方面的工作。

Exim 开发人员早在去年 6 月就收到了有关问题的通知,并花了 4.94.2 个多月的时间开发修复程序。 建议所有管理员紧急将其邮件服务器上的 Exim 更新到版本 4.94.2。 XNUMX 版之前的所有 Exim 版本均已声明已过时。 新版本的发布是与同时发布软件包更新的发行版协调的:Ubuntu、Arch Linux、FreeBSD、Debian、SUSE 和 Fedora。 RHEL 和 CentOS 不受该问题的影响,因为 Exim 未包含在其标准软件包存储库中(EPEL 尚未更新)。

已删除的漏洞:

  • CVE-2020-28017:receive_add_recipient() 函数中出现整数溢出;
  • CVE-2020-28020:receive_msg() 函数中出现整数溢出;
  • CVE-2020-28023:smtp_setup_msg() 中的越界读取;
  • CVE-2020-28021:假脱机文件头中的换行符替换;
  • CVE-2020-28022:在 extract_option() 函数中分配的缓冲区之外的区域中写入和读取;
  • CVE-2020-28026:spool_read_header() 中的字符串截断和替换;
  • CVE-2020-28019:发生 BDAT 错误后重置函数指针时崩溃;
  • CVE-2020-28024:smtp_ungetc() 函数中的缓冲区下溢;
  • CVE-2020-28018:tls-openssl.c 中的释放后使用缓冲区访问
  • CVE-2020-28025:pdkim_finish_bodyhash() 函数中的越界读取。

局部漏洞:

  • CVE-2020-28007:Exim日志目录中的符号链接攻击;
  • CVE-2020-28008:假脱机目录攻击;
  • CVE-2020-28014:任意文件创建;
  • CVE-2021-27216:任意文件删除;
  • CVE-2020-28011:queue_run() 中的缓冲区溢出;
  • CVE-2020-28010:main() 中的越界写入;
  • CVE-2020-28013:函数 parse_fix_phrase() 中的缓冲区溢出;
  • CVE-2020-28016:parse_fix_phrase() 中的越界写入;
  • CVE-2020-28015:假脱机文件头中的换行符替换;
  • CVE-2020-28012:特权无名管道缺少 close-on-exec 标志;
  • CVE-2020-28009:get_stdinput() 函数中出现整数溢出。



来源: opennet.ru

添加评论