2022hvv情况一览(7.30当日情报)
本文来自“白帽子社区知识星球”
本文所有情报均来源于护网用户提供,护网期间每晚将会发布当日可靠性较高的情报,同时欢迎各位积极在公众号留言,提供最新情报,我们每日将会对情报信息进行确认、筛选并公布。
历史情报可查阅文末。
漏洞名称 |
log4j2命令执行漏洞 |
Nginx <=1.21.6 LDAP 远程代码执行漏洞 |
Spring Cloud Gateway远程代码执行(历史漏洞) |
NGINX
Open Source 和 NGINX Plus自身不受本次漏洞影响,如未采用(https://github.com/nginxinc/nginx-ldap-auth)参考实现部署,则无需进行任何修复措施。
NGINX LDAP 参考实现使用轻量级目录访问协议 (LDAP) 来验证由 NGINX 代理的应用程序的用户。它在https://github.com/nginxinc/nginx-ldap-auth作为 Python 守护进程和相关的 NGINX 配置发布。
如果满足以下任何条件,则 LDAP 参考实现的部署会受到漏洞的影响。
1、命令行参数用于配置 Python 守护进程
2、有未使用的可选配置参数
3、LDAP 身份验证取决于特定的组成员身份
注意: LDAP 参考实现是作为参考实现发布的,它描述了集成如何工作的机制以及验证集成所需的所有组件。它不是生产级 LDAP 解决方案。例如,用于示例登录页面的用户名和密码没有加密,安全通知对此进行了说明。
以下为临时缓解方式:
缓解条件1:命令行参数用于配置 Python 守护程序
配置 LDAP 参考实现的主要方法是使用示例配置和文档proxy_set_header中详述的许多指令。但是,配置参数也可以在初始化 Python 守护进程(nginx-ldap-auth-daemon.py ) 的命令行上设置。
在命令行上指定配置参数时,攻击者可以通过传递特制的 HTTP 请求标头来覆盖其中的部分或全部。为了防止这种情况,请确保在身份验证期间忽略任何无关的请求标头,方法是将以下配置添加到location= /auth-proxyNGINX 配置中的块(回购中的nginx-ldap-auth.conf)。
location = /auth-proxy {
# ...
proxy_pass_request_headers off;
proxy_set_header Authorization $http_authorization; # If using Basic auth
# ...
}
缓解条件2:未使用的可选配置参数
与条件 1 一样,攻击者可以传递特制的 HTTP 请求标头来覆盖某些配置参数(如果它们未在配置中设置)。例如,如果未在配置中明确设置,则可能会覆盖 LDAP 搜索模板。通过将以下配置添加到location= /auth-proxyNGINX配置中的块中,以与条件 1 相同的方式进行防御。
location = /auth-proxy {
# ...
proxy_pass_request_headers off;
proxy_set_header Authorization $http_authorization; # If using Basic auth
# ...
}
缓解条件3:需要 LDAP 组成员身份
Python守护进程不会清理其输入。因此,攻击者可以使用特制的请求标头绕过组成员资格 ( memberOf) 检查,从而强制 LDAP 身份验证成功,即使正在验证的用户不属于所需的组。
为了缓解这种情况,请确保显示登录表单的后端守护程序从用户名字段中删除任何特殊字符。特别是,它必须删除左括号和右括号字符 –( )以及等号 ( =),它们对于 LDAP 服务器都有特殊含义。LDAP 参考实现中的后端守护程序将在适当的时候以这种方式进行更新。
如果觉得本文不错的话,欢迎加入知识星球,星球内部设立了多个技术版块,目前涵盖“WEB安全”、“内网渗透”、“CTF技术区”、“漏洞分析”、“工具分享”五大类,还可以与嘉宾大佬们接触,在线答疑、互相探讨。
▼扫码关注白帽子社区公众号&加入知识星球▼