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

CVE-2026-32766: astral-tokio-tar PAX扩展解析漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-32766
漏洞类型
解析器差异
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
astral-tokio-tar

相关标签

解析器差异输入验证RusttarCVE-2026-32766

漏洞概述

astral-tokio-tar是一个用于Rust的异步tar存档读写库。在0.5.6及更早版本中,解析tar存档时会静默跳过格式错误的PAX扩展而不是拒绝。这种行为可能被用于解析器差异化攻击,特别是在结合另一个对畸形PAX扩展处理不当的解析器时。该问题被视为低严重性,因为它依赖于另一个解析器的漏洞。该问题已在0.6.0版本中修复。

技术细节

该漏洞源于astral-tokio-tar在处理tar存档中的PAX扩展时的逻辑缺陷。当遇到格式错误的PAX扩展头时,受影响的版本(0.5.6及以下)选择静默跳过这些数据块,而不是抛出错误或拒绝处理。这种宽容的解析策略可能导致解析器差异化攻击场景。攻击者可以构造特制的tar文件,其中包含恶意的畸形PAX扩展(例如GNU “long link”扩展)。当此文件被astral-tokio-tar处理时,恶意部分被忽略;但如果随后被另一个未充分验证数据的tar解析器处理,该解析器可能会错误地解释被跳过的内容,导致安全漏洞(如路径遍历或任意文件覆盖)。成功攻击需要系统中存在两个行为不一致的解析器。

攻击链分析

STEP 1
1. 构造恶意文件
攻击者创建一个包含畸形PAX扩展头的特制tar存档文件。
STEP 2
2. 解析器处理差异
该文件被astral-tokio-tar(受影响版本)处理,库静默跳过畸形扩展。
STEP 3
3. 次级解析
同一文件随后被另一个缺乏严格验证的tar解析器处理。
STEP 4
4. 触发漏洞
次级解析器错误解释畸形数据,导致完整性受损或其它安全后果。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-32766: Malformed PAX Extension Handling // This example demonstrates how a malformed PAX header might be constructed. // Vulnerable versions of astral-tokio-tar would skip this silently. use tokio_tar::{Builder, Header}; use std::io::Cursor; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let mut ar = Builder::new(Vec::new()); // Create a standard file entry let mut header = Header::new_gnu(); header.set_path("legitimate_file.txt"); header.set_size(0); header.set_cksum(); ar.append(&header, &mut Cursor::new(&[])).await?; // Simulate appending a malformed PAX extension // In a real exploit, specific bytes would be crafted to trigger // differential parsing in a secondary parser. let mut pax_header = Header::new_gnu(); pax_header.set_entry_type(tokio_tar::EntryType::X); // PAX header type // Set a size that implies the presence of PAX attributes pax_header.set_size(50); // In a vulnerable version, if the subsequent bytes are malformed, // tokio-tar would skip this entry without error. // Note: Actual exploitation requires a secondary parser that // interprets this skipped data maliciously. println!("CVE-2026-32766 PoC: Archive with PAX extension created."); Ok(()) }

影响范围

astral-tokio-tar <= 0.5.6

防御指南

临时缓解措施
如果无法立即升级,请确保系统中所有tar解析器都对PAX扩展执行严格验证,拒绝格式错误的数据,以防止解析器差异化攻击。避免在不同解析器之间传递未经验证的tar文件流。

参考链接

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