CVE-2024-21683 – 通过Atlassian Confluence“添加新语言”功能实现认证远程代码执行
概述
CVE-2024-21683是一个严重的远程代码执行(RCE)漏洞,影响自托管的Atlassian Confluence Data Center和Server实例(版本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 Data Center ≤8.9.0;Server ≤8.5.8 LTS / ≤7.19.21 LTS
- 修复版本: Data Center ≥8.9.1;Server ≥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 Server)
- 对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;Server ≥8.5.9 LTS / 7.19.22 LTS
- 限制“添加语言”权限给受信任的管理员
- 监控日志中对
/admin/plugins/newcode/addlanguage.action的API调用 - 立即设置WAF规则:阻止未经授权的POST请求到此端点
参考
点击下方访问我们学习库中的CVE-2024-21683实验。CVE实验室可通过Learn Enterprise账户访问。