CVE-2024-21683 – 通过Atlassian Confluence"添加新语言"功能实现认证RCE
概述
CVE-2024-21683是一个关键远程代码执行(RCE)漏洞,影响自托管的Atlassian Confluence数据中心和服务器实例(版本5.2至8.9.0)。该漏洞允许具有添加代码宏语言权限的认证攻击者上传恶意脚本,导致在主机系统上执行任意代码。
CVE ID: CVE-2024-21683
严重等级: 高
CVSS评分: 8.8 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
EPSS评分: 93.98%
发布日期: 2024年5月21日
受影响版本: Confluence数据中心≤8.9.0;服务器≤8.5.8 LTS / ≤7.19.21 LTS
修复版本: 数据中心≥8.9.1;服务器≥8.5.9 LTS或7.19.22 LTS
技术分析
该漏洞源于"添加新语言"功能中的输入验证不足,通过以下端点访问:
|
|
该端点期望接收JavaScript语言文件,由RhinoLanguageParser解析。然而,由于解析器在脚本中启用了Java类访问,攻击者可以注入恶意Java代码(例如java.lang.Runtime.getRuntime().exec(...)
)来实现RCE。
利用条件
- 必须具有Confluence的认证访问权限,并拥有添加新宏语言的权限
- 实例必须运行在易受攻击的版本上(≤8.9.0 DC或≤8.5.8/7.19.21 LTS服务器)
- 能够访问Confluence Web界面的网络连接
利用步骤(手动和Metasploit)
手动PoC(通过curl)
- 创建exploit.js:
|
|
- 发送利用代码:
|
|
上传后,代码将执行并生成反向shell。PoC链接:Github
Metasploit模块
Rapid7发布了Metasploit模块exploit/multi/http/atlassian_confluence_rce_cve_2024_21683
。使用流程如下:
|
|
如果凭据有效且权限足够,模块将上传并执行恶意脚本,获得shell。
缓解措施
- 将Confluence升级到修复版本:DC≥8.9.1;服务器≥8.5.9 LTS / 7.19.22 LTS
- 限制"添加语言"权限,仅授予受信任的管理员
- 监控日志中对
/admin/plugins/newcode/addlanguage.action
的API调用 - 立即设置WAF规则:阻止对此端点的未经授权POST请求
参考链接
- NVD Advisory
- Github Manual POC
- Rapid7 Metasploit Module