跳到主要内容

超危

dotCMS ContentResource API远程代码执行漏洞

2022-07-17 21:54:53 公开 ,2026-02-24 21:39:04 更新

  • 关键漏洞
  • CISA KEV
  • 勒索软件漏洞
  • APT漏洞
  • 远程
  • 公开PoC
  • 无需认证
  • 开源组件漏洞
  • 2024两高一弱互联网漏洞
  • CWE Top 25 (2023)
  • CWE Top 25 (2024)
  • 2025两高一弱漏洞
CWEs:
CWE-22 (Path Traversal) CWE-434 (Unrestricted Upload of File with Dangerous Type)
CAPEC:
CAPEC-1 (Accessing Functionality Not Properly Constrained by ACLs) CAPEC-126 (Path Traversal) CAPEC-64 (Using Slashes and URL Encoding Combined to Bypass Validation Logic) CAPEC-76 (Manipulating Web Input to File System Calls) CAPEC-78 (Using Escaped Slashes in Alternate Encoding) CAPEC-79 (Using Slashes in Alternate Encoding)
SSVC:
可利用状态:已被积极利用攻击自动化:是技术影响评估:全部 2023-12-22 13:00:56

风险信息

CVSS v2 向量
AV:N/AC:M/Au:N/C:P/I:P/A:P
CVSS v2 风险值
6.8
CVSS v3 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3 风险值
9.8
CVSS v3.1 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 风险值
9.8

详细信息

漏洞类型
代码问题
漏洞描述
dotCMS是美国dotCMS公司的一套内容管理系统(CMS)。该系统支持RSS订阅、博客、论坛等模块,并具有易于扩展和构建的特点。 在dotCMS 3.0到22.02的ContentResource API中发现了一个问题。当文件通过content API上传到dotCMS时,但在它们成为content之前,dotCMS会将文件写入临时目录中。在此漏洞的情况下,dotCMS不会清理通过多部分请求标头传入的文件名,因此不会清理临时文件的名称。这允许通过在dotCMS临时目录之外写入的ContentResource(POST /api/content)将文件发布到dotCMS的特制请求。在这种利用情况下,攻击者可以将一个特殊的.jsp文件上传到dotCMS的webapp/ROOT目录,从而允许远程执行代码。此外,如果dotCMS配置为CONTENT_APIS_ALLOW_ANONYMOUS=WRITE,则匿名用户可以利用此漏洞。
修复建议
1、升级软件版本升级到包含问题代码修复的dotCMS版本。包括版本22.03、5.3.8.10_lts和/或21.06.7_lts。参考链接: https://github.com/dotCMS/patches-hotfixes/tree/master/com.dotcms.security.multipartrequest 2、使用WAF进行防护在某些WAF框架上,可以通过启用禁止路径遍历请求的规则来缓解该漏洞。 3、禁用匿名内容提交虽然不是完全缓解,但如果不使用匿名内容提交,例如dotCMS表单或前端内容提交,建议在dotmarketing-config.properties中设置CONTENT_APIS_ALLOW_ANONYMOUS=READ或CONTENT_APIS_ALLOW_ANONYMOUS=NONE。设置此项可防止匿名访问/api/content,未知攻击者将无法利用该漏洞。但这不会阻止已知/经过身份验证的用户利用该漏洞。

参考链接