我在最新的 macOS (BigSur 11.4 20F71) 上发现了 Apache httpd 中的一个严重漏洞,该漏洞位于此处/usr/sbin/httpd
。我从未在我的 Mac 上安装过 Apache httpd。/usr/sbin
是一个只读文件系统(受 SIP“系统完整性保护”保护),即使作为 root 用户也无法在该文件夹中安装任何内容,这让我认为 Apache http 默认与 BigSur 捆绑在一起。如果是这样,我怎样才能安装最新的补丁?
易受攻击的版本是 2.4.46,在 2.4.47 中有修复,但我在更新 httpd 时遇到了实际问题。
> /usr/sbin/httpd -v
Server version: Apache/2.4.46 (Unix)
Server built: May 8 2021 03:38:34
到目前为止我尝试过的事情:
- 使用自制软件安装最新版本的 httpd。它安装了错误的正确版本,
/usr/local/bin
因为它仍然使易受攻击的版本完好无损。 - 进行任何更改都会
/usr/sbin/httpd
引发“不允许操作”错误,这导致我尝试 禁用系统完整性保护,因为它应该使文件系统可写。禁用它后,我尝试手动将最新版本的 httpd 二进制文件安装到 /usr/sbin/httpd 中,但我仍然收到此错误:/usr/sbin/httpd: Read-only file system
. 似乎无法完全禁用 SIP。
我该如何解决这个问题?这个漏洞是在 6 月 6 日发现的,因此已经超过了许多 InfoSec 监管机构要求的 14 天修复时间限制。
作为参考,以下是漏洞的详细信息(来自 Nessus):
远程主机上安装的 Apache httpd 版本低于 2.4.47。因此,它受到 2.4.47 变更日志中引用的多个漏洞的影响:
与“MergeSlashes OFF”匹配的意外部分 (CVE-2021-30641)
mod_auth_digest:在验证 Digest nonce 时可能会溢出一个 nul 字节。(CVE-2020-35452)
mod_session:修复了由于 NULL 指针取消引用而可能导致的崩溃,这可能会导致带有恶意后端服务器和 SessionHeader 的拒绝服务。(CVE-2021-26691)
mod_session:修复了由于 NULL 指针取消引用而可能导致的崩溃,这可能会导致拒绝服务。(CVE-2021-26690)
mod_proxy_http:修复了由于 NULL 指针取消引用而可能导致的崩溃,这可能会导致拒绝服务。(CVE-2020-13950)
Windows:阻止本地用户停止 httpd 进程 (CVE-2020-13938)
mod_proxy_wstunnel、mod_proxy_http:处理可升级协议的端到端协商。(CVE-2019-17567)