描述
远程主机受到 GLSA-202208-20 中所述漏洞的影响(Apache HTTPD:多个漏洞)
- 通过 HTTP/2 发送的构建的方法将绕过验证并被 mod_proxy 转发,这可导致请求拆分或缓存中毒。此问题影响 Apache HTTP Server 2.4.17 至 2.4.48。
(CVE-2021-33193)
- 畸形请求可能导致服务器取消引用空指针。此问题影响 Apache HTTP Server 2.4.48 及更早版本。(CVE-2021-34798)
- 精心构建的请求 uri-path 可导致 mod_proxy_uwsgi 读取已分配内存之外的内存并崩溃 (DoS)。此问题影响 Apache HTTP Server 版本 2.4.30 至 2.4.48(含)。(CVE-2021-36160)
- 当提供恶意输入时,ap_escape_quotes() 可能会写入缓冲区末端之外。内含的模块不会向这些函数传递不受信任的数据,但第三方/外部模块可能会这样做。此问题影响 Apache HTTP Server 2.4.48 及更早版本。(CVE-2021-39275)
- 构建的请求 uri-path 可使 mod_proxy 将请求转发到远程用户选择的原始服务器。此问题影响 Apache HTTP Server 2.4.48 及更早版本。(CVE-2021-40438)
- 对 2.4.49 httpd 进行模糊测试时,在处理 HTTP/2 请求的过程中检测到新的空指针取消引用,外部源可利用此漏洞对服务器造成 DoS。这需要使用特别构建的请求。该漏洞最近在版本 2.4.49 中引入。该项目没有发生已知的漏洞利用。
(CVE-2021-41524)
- 在对 Apache HTTP Server 2.4.49 中的路径规范化进行的更改中发现缺陷。攻击者可利用路径遍历攻击,将 URL 映射到由 Alias 等指令配置的目录之外的文件。如果这些目录之外的文件不受通常默认配置“拒绝所有”的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则可允许远程代码执行。已知此问题正在通常环境中被利用。此问题仅影响 Apache 2.4.49,而不会影响其之前的版本。据发现,Apache HTTP Server 2.4.50 中的修复并不完整,请参阅 CVE-2021-42013。(CVE-2021-41773)
- 据发现,Apache HTTP Server 2.4.50 中对 CVE-2021-41773 的修复并不充分。攻击者可利用路径遍历攻击,将 URL 映射到由 Alias 等指令配置的目录之外的文件。如果这些目录之外的文件不受通常默认配置“拒绝所有”的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则可允许远程代码执行。此问题仅影响 Apache 2.4.49 和 Apache 2.4.50,而不会影响其之前的版本。(CVE-2021-42013)
- 发送到配置为正向代理(开启“ProxyRequests”) 的 httpd 的特制 URI 可能会造成崩溃(空指针取消引用),或者混合正向和反向代理声明的配置可允许将请求定向到声明的 Unix 域套接字端点(服务器端请求伪造)。此问题会影响 Apache HTTP Server 2.4.7 版至 2.4.51 版(含该版本)。(CVE-2021-44224)
- 精心构建的请求正文可导致 mod_lua 多部分解析器(从 Lua 脚本调用的 r: parsebody())中出现缓冲区溢出问题。Apache httpd 团队并未发现利用该漏洞的情况,但攻击者可能会另外构建漏洞。此问题影响 Apache HTTP Server 2.4.51 及更早版本。(CVE-2021-44790)
- 精心构建的请求正文可导致读取随机内存区域,从而造成进程崩溃。此问题影响 Apache HTTP Server 2.4.52 及更早版本。(CVE-2022-22719)
- Apache HTTP Server 2.4.52 及更早版本因在丢弃请求正文时遇到错误而无法关闭入站连接,从而导致服务器受到 HTTP 请求走私漏洞影响 (CVE-2022-22720)
- 如果在 32 位系统上将 LimitXMLRequestBody 设置为允许处理大于 350MB(默认为 1M)的请求正文,则将导致发生整数溢出,随后导致越界写入问题。此问题影响 Apache HTTP Server 2.4.52 及更早版本。(CVE-2022-22721)
- Apache HTTP Server 的 mod_sed 中的越界写入漏洞允许攻击者使用可能由攻击者提供的数据覆盖堆内存。此问题影响 Apache HTTP Server 2.4 2.4.52 及之前版本。(CVE-2022-23943)
- Apache HTTP Server 的 mod_proxy_ajp 中存在对 HTTP 请求解释不一致(“HTTP 请求走私”)漏洞,攻击者可借此将请求走私到其转发请求的 AJP 服务器。此问题影响 Apache HTTP Server 2.4、2.4.53 及之前版本。
(CVE-2022-26377)
- 如果攻击者能够使用 ap_rwrite() 或 ap_rputs()(例如使用 mod_luas r:puts() 函数)让服务器反映超大型输入,则 Apache HTTP Server 2.4.53 及更早版本中的 ap_rwrite() 函数。对于使用“ap_rputs”函数并可能向其传递非常大(INT_MAX 或更大)字符串的从 Apache HTTP Server 单独编译和分发的模块,必须针对当前标头进行编译以解决该问题。 (CVE-2022-28614)
- 在 Apache HTTP Server 2.4.53 及更早版本中,当应用程序处理超大型输入缓冲时,ap_strcmp_match() 中的越界读取漏洞可能会造成程序崩溃或信息泄露。虽然无法将随服务器分发的代码强制转换为此类调用,但使用 ap_strcmp_match() 的第三方模块或 lua 脚本可能会受到影响。(CVE-2022-28615)
在 Apache HTTP Server 2.4.53 及更早版本中,由于对可能的输入大小没有默认限制,恶意请求调用 r:parsebody(0) 的 lua 脚本可能会造成应用程序拒绝服务。(CVE-2022-29404)
- 如果将 Apache HTTP Server 2.4.53 配置为在 mod_sed 的输入可能非常大的上下文中使用 mod_sed 执行转换,则 mod_sed 可能会进行超大内存分配并触发中止。
(CVE-2022-30522)
- Apache HTTP Server 2.4.53 及更早版本可能会向调用 r: wsread() 的应用程序返回指向超过为缓冲区分配的存储区末尾的长度。(CVE-2022-30556)
- Apache HTTP Server 2.4.53 及更早版本可能不会根据客户端的 Connection 标头逐跳机制将 X-Forwarded-* 标头发送到源服务器。攻击者可利用此问题绕过源服务器/应用程序上基于 IP 的认证。(CVE-2022-31813)
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
所有 Apache HTTPD 用户皆应升级至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=www-servers/apache-2.4.54 所有 Apache HTTPD 工具用户皆应升级到最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=app-admin/apache-tools-2.4.54
插件详情
文件名: gentoo_GLSA-202208-20.nasl
支持的传感器: Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
时间矢量: CVSS:3.0/E:H/RL:O/RC:C
漏洞信息
CPE: p-cpe:/a:gentoo:linux:apache, p-cpe:/a:gentoo:linux:apache-tools, cpe:/o:gentoo:linux
必需的 KB 项: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list
易利用性: Exploits are available
CISA 已知可遭利用的漏洞到期日期: 2021/11/17, 2021/12/15
可利用的方式
CANVAS (CANVAS)
Metasploit (Apache 2.4.49/2.4.50 Traversal RCE)
Elliot (Apache 2.4.50 RCE)
参考资料信息
CVE: CVE-2021-33193, CVE-2021-34798, CVE-2021-36160, CVE-2021-39275, CVE-2021-40438, CVE-2021-41524, CVE-2021-41773, CVE-2021-42013, CVE-2021-44224, CVE-2021-44790, CVE-2022-22719, CVE-2022-22720, CVE-2022-22721, CVE-2022-23943, CVE-2022-26377, CVE-2022-28614, CVE-2022-28615, CVE-2022-29404, CVE-2022-30522, CVE-2022-30556, CVE-2022-31813