IPBUF安全漏洞报告
English
CVE-2026-33769 CVSS 5.3 中危

CVE-2026-33769 Astro路径匹配绕过漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33769
漏洞类型
服务器端请求伪造 (SSRF) / 路径遍历
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Astro

相关标签

SSRFAstro路径遍历安全绕过CVE-2026-33769

漏洞概述

Astro框架在2.10.10至5.18.1之前的版本中存在路径验证绕过漏洞。由于remotePatterns的/*通配符匹配逻辑未锚定,攻击者可构造包含允许前缀但位于其他目录的URL,从而绕过安全限制,访问允许主机上预期白名单之外的路径资源,导致敏感信息泄露。

技术细节

该漏洞源于Astro对服务器端获取器(如图片优化端点)的remotePatterns路径验证逻辑不严谨。在受影响版本中,/*通配符的路径匹配逻辑是“未锚定”的。这意味着匹配函数仅检查请求的路径名中是否包含允许的前缀字符串,而未严格验证路径必须以该前缀开头。例如,若管理员配置允许example.com/api/*,意图仅限制在/api目录下,攻击者可构造example.com/evil/api/secret的URL。由于/evil/api/secret包含子串/api/,Astro的匹配逻辑会错误地判定该请求符合remotePatterns规则,从而允许服务器端代为请求并返回非预期路径下的敏感资源,导致服务器端请求伪造(SSRF)。

攻击链分析

STEP 1
侦察
攻击者识别目标Astro应用并探测其配置,尤其是图片优化或fetch功能使用的域名。
STEP 2
载荷构造
攻击者根据探测到的remotePatterns规则(如允许`/public/*`),构造包含该前缀但实际指向其他目录的URL(如`/admin/public/users`)。
STEP 3
发送请求
攻击者向Astro服务器的端点发送包含恶意URL的请求。
STEP 4
漏洞利用
Astro服务器端验证逻辑通过未锚定的匹配机制放行请求,并代理获取恶意URL指向的资源。
STEP 5
数据回传
服务器将非预期路径的内容返回给攻击者,造成信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Vulnerable Configuration in Astro // astro.config.mjs export default { image: { remotePatterns: [{ hostname: 'api.example.com', pathname: '/public/*' }] } }; // Attack Scenario // The attacker sends a request to the image optimization endpoint: // The matching logic checks if the path contains '/public/', not if it starts with it. // Request URL: https://api.example.com/anything/public/users.json // This path bypasses the check because it contains the substring '/public/'.

影响范围

Astro >= 2.10.10
Astro < 5.18.1

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用Astro的图片优化服务或通过反向代理(如Nginx)严格限制出站流量的目标路径,确保服务器只能请求经过严格验证的URL。

参考链接

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