近日,ForgeRock 发布安全公告,在现有的 Access Management (AM)版本中发现了一个安全漏洞。攻击者无需身份验证,通过构造特殊的请求包可在ForgeRock AM服务器上执行任意代码。
漏洞描述
ForgeRock OpenAM是美国 ForgeRock 公司的一套开源的单点登录框架,该框架通过提供核心的标识服务(CoreServer)以实现在一个网络架构中的透明单点登录。
CVE-2021-35464
由于ForgeRock AM中使用了Jato框架,而该框架已于2005年停止维护。在该框架中当处理GET请求参数jato.pageSession时会直接将其值进行反序列化。攻击者可以通过构造jato.pageSession值为恶意的序列化数据,最终导致远程代码执行。
该漏洞危害等级:严重
CVE 编号
CVE-2021-35464
影响范围
影响版本:AM 6.0.0.x, 6.5.0.x, 6.5.1, 6.5.2.x and 6.5.3
安全版本:AM 7
漏洞复现
Vulfocus靶场环境
目前 Vulfocus 已经集成 ForgeRock OpenAM 环境,可通过以下命令进行拉取运行:
docker pull vulfocus/forgerok_openam-cve_2021_35464:latest
docker run -d -P vulfocus/forgerok_openam-cve_2021_35464
也可使用线上环境 http://vulfocus.fofa.so/ 进行测试。
修复建议
升级到官方发布的最新安全版本。
临时修复方式一:通过注释掉 AM web.xml 文件(位于 /path/to/tomcat/webapps/openam/WEB-INF 目录中)中的以下部分来禁用 VersionServlet 映射:
<servlet-mapping>
<servlet-name>VersionServlet</servlet-name>
<url-pattern>/ccversion/*</url-pattern>
</servlet-mapping>
临时修复方式二:使用反向代理或其他方法阻止对 ccversion 端点的访问。同时应避免出现通过反向代理进行Tomcat路径遍历的漏洞。
参考
[1] https://backstage.forgerock.com/knowledge/kb/article/a47894244
[2] https://portswigger.net/research/pre-auth-rce-in-forgerock-openam-cve-2021-35464
[3] https://cert.360.cn/warning/detail?id=95aac3f95ad740c3f34f4c08a67b9868
白帽汇从事信息安全,专注于安全大数据、企业威胁情报。
公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。
为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。