IPBUF安全漏洞报告
English
CVE-2022-50899 CVSS 6.5 中危

CVE-2022-50899 GeoNetwork XXE漏洞导致任意文件读取

披露日期: 2026-01-13

漏洞信息

漏洞编号
CVE-2022-50899
漏洞类型
XXE注入
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
GeoNetwork

相关标签

XXE注入XML外部实体任意文件读取GeoNetworkCVE-2022-50899PDF渲染信息泄露GeospatialGIS

漏洞概述

GeoNetwork是一款开源的地理空间信息管理系统,广泛用于创建和管理地理空间数据。2022年披露的CVE-2022-50899漏洞影响GeoNetwork 3.10至4.2.0版本,该漏洞存在于系统的PDF渲染功能中,源于不安全的XML解析器配置。攻击者可通过构造恶意的XML文档,利用外部实体引用(External Entity)来读取服务器上的任意文件,包括配置文件、密码文件、SSH密钥等敏感信息。此漏洞的CVSS评分为6.5,属于中等严重程度,攻击向量为网络,认证要求低权限,无需用户交互即可利用,但仅影响机密性,对数据完整性和可用性无影响。漏洞的发现和披露由VulnCheck安全团队完成,建议受影响的用户尽快升级到修复版本并采取临时缓解措施。

技术细节

GeoNetwork在处理PDF生成请求时,会解析用户提供的XML内容来构建文档。该系统在XML解析配置中启用了外部实体(External Entity)支持,使得攻击者可以通过在XML中引用外部实体来访问服务器本地文件系统资源。攻击者利用PDF创建接口中的baseURL参数,注入精心构造的XXE Payload。当服务器解析该XML时,会尝试加载攻击者指定的外部实体,这些实体通常指向服务器上的敏感文件路径。例如,使用file:///etc/passwd可以读取系统用户信息,或者使用file:///proc/self/environ获取环境变量。攻击者还可以利用PHP等协议的wrapper实现更复杂的攻击场景,如远程代码执行。该漏洞的根本原因在于未对XML输入进行充分的输入验证和安全的解析器配置,开发者应该禁用外部实体加载功能或使用安全的XML解析库。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标站点使用的GeoNetwork版本,确认其版本在3.10至4.2.0范围内
STEP 2
步骤2: 定位PDF生成接口
攻击者访问GeoNetwork的PDF导出或创建功能,该功能通常位于/api或/pdf相关端点
STEP 3
步骤3: 构造恶意XML Payload
攻击者构造包含XXE外部实体引用的XML文档,指定要读取的目标文件路径如file:///etc/passwd
STEP 4
步骤4: 发送恶意请求
通过PDF创建请求的baseURL参数提交恶意XML,触发服务器的XML解析器处理外部实体
STEP 5
步骤5: 接收响应数据
服务器解析XML时加载外部实体并将文件内容嵌入响应,攻击者从中提取敏感信息

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pdfxml [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <pdf> <metadata> <title>Document with XXE</title> <baseURL>&xxe;</baseURL> </metadata> <content> <text>Test content</text> </content> </pdf> <!-- Alternative XXE Payload for reading /etc/hostname --> <!-- <!DOCTYPE foo [ <!ELEMENT foo ANY> <!ENTITY xxe SYSTEM "file:///etc/hostname"> ]> <pdf><baseURL>&xxe;</baseURL></pdf> -->

影响范围

GeoNetwork 3.10
GeoNetwork 3.10.1
GeoNetwork 3.10.2
GeoNetwork 3.10.3
GeoNetwork 3.10.4
GeoNetwork 3.10.5
GeoNetwork 3.10.6
GeoNetwork 3.10.7
GeoNetwork 3.10.8
GeoNetwork 3.10.9
GeoNetwork 3.10.10
GeoNetwork 3.12.0
GeoNetwork 3.12.1
GeoNetwork 3.12.2
GeoNetwork 4.0.0
GeoNetwork 4.0.1
GeoNetwork 4.0.2
GeoNetwork 4.0.3
GeoNetwork 4.0.4
GeoNetwork 4.0.5
GeoNetwork 4.0.6
GeoNetwork 4.0.7
GeoNetwork 4.0.8
GeoNetwork 4.0.9
GeoNetwork 4.0.10
GeoNetwork 4.2.0

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 在Web应用层配置XML解析器禁用外部实体(设置disallow-doctype-decl和external-general-entities等参数);2) 对PDF生成接口实施严格的访问控制,仅允许受信任的IP地址访问;3) 使用输入验证限制baseURL参数只能为合法URL格式;4) 在反向代理层配置规则过滤包含<!DOCTYPE、<!ENTITY等XXE特征的请求;5) 监控和日志记录所有PDF生成请求以便及时发现异常攻击行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表