CVE-2023-38490
Kirby XML数据处理程序中的XML外部实体(XXE)漏洞
- 已发布
- 2023年7月27日
- 已更新
- 2024年10月16日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月7日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N低 · 未来 30 天
- 百分位
- 75.8%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Kirby 是一个内容管理系统。在 3.5.8.3、3.6.6.3、3.7.5.2、3.8.4.1 和 3.9.6 之前的版本中存在一个漏洞,该漏洞仅影响在站点或插件代码中使用 `Xml` 数据处理器(例如 `Data::decode($string, 'xml')`)或 `Xml::parse()` 方法的 Kirby 站点。Kirby 核心不使用任何受影响的方法。XML 外部实体(XXE)是 XML 标记语言中一种很少使用的功能,它允许在 XML 结构中包含外部文件中的数据。如果外部文件的名称可以被攻击者控制,这就成为一个漏洞,可能被滥用以产生多种系统影响,例如泄露存储在服务器上的内部或机密数据(任意文件泄露),或代表服务器发起网络请求(服务端请求伪造,SSRF)。Kirby 的 `Xml::parse()` 方法使用了 PHP 的 `LIBXML_NOENT` 常量,该常量在解析操作期间启用了 XML 外部实体的处理。`Xml::parse()` 方法用于 `Xml` 数据处理器(例如 `Data::decode($string, 'xml')`)。易受攻击的方法和数据处理器均未在 Kirby 核心中使用。但是,它们可能在站点或插件代码中使用,例如解析 RSS 源或其他 XML 文件。如果这些文件来自外部(例如由用户上传或从外部 URL 检索),攻击者可能能够在 XML 文件中包含一个外部实体,该实体随后将在解析过程中被处理。在站点或插件代码中不使用 XML 解析的 Kirby 站点*不*受影响。该问题已在 Kirby 3.5.8.3、3.6.6.3、3.7.5.2、3.8.4.1 和 3.9.6 中修复。在上述所有版本中,维护者已移除 `LIBXML_NOENT` 常量,因为外部实体的处理超出了解析逻辑的范围。这保护了该方法的所有使用免受所述漏洞的影响。
来源
1Kirby < 3.9.6 XML外部实体利用
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。