CVE-2022-50899GeoNetwork是一款开源的地理空间信息管理系统,广泛用于创建和管理地理空间数据。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解析库。