CVE-2026-32805: CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in ctfer-io romeo
CVE-2026-32805 is a high-severity path traversal vulnerability in ctfer-io's Romeo tool versions prior to 0. 2. 2. The flaw exists in the sanitizeArchivePath function, which improperly validates archive paths due to a missing trailing path separator check, allowing crafted tar archives to write files outside the intended directory. This can lead to unauthorized file overwrites or code execution in Go applications using Romeo for code coverage measurement in GitHub Actions. Exploitation requires no authentication or user interaction and can impact confidentiality, integrity, and availability. The vulnerability is fixed in version 0. 2. 2. Organizations using Romeo in CI/CD pipelines should upgrade immediately and audit archive handling processes to prevent exploitation.
AI Analysis
Technical Summary
CVE-2026-32805 is a path traversal vulnerability identified in the Romeo tool developed by ctfer-io, which assists in measuring code coverage for Go applications (version 1.20 and above) within GitHub Actions workflows. The vulnerability stems from an improper validation in the sanitizeArchivePath function located in webserver/api/v1/decoder.go (lines 80-88) prior to version 0.2.2. Specifically, the function uses strings.HasPrefix to check if archive file paths are within a restricted directory but fails to include a trailing path separator in the check. This oversight allows an attacker to craft a malicious tar archive containing file paths that traverse outside the intended extraction directory (e.g., using ../ sequences). When such an archive is processed, files can be written to arbitrary locations on the host filesystem, potentially overwriting critical files or injecting malicious code. The vulnerability does not require authentication or user interaction and can be exploited remotely if the vulnerable Romeo version processes untrusted archives. The CVSS 4.0 base score is 8.3 (high), reflecting the network attack vector, low attack complexity, no privileges required, no user interaction, and high impact on confidentiality and integrity. The scope is limited to Romeo versions before 0.2.2, which has addressed the issue by properly validating paths with the trailing separator included. No known exploits in the wild have been reported yet, but the vulnerability poses a significant risk in automated CI/CD environments where Romeo is used.
Potential Impact
The impact of CVE-2026-32805 is significant for organizations using Romeo in their continuous integration and deployment pipelines, especially those running Go applications with version 1.20 or later. Exploitation allows attackers to write arbitrary files outside the intended directory, which can lead to overwriting critical system or application files, injecting malicious payloads, or disrupting build and deployment processes. This compromises the confidentiality, integrity, and availability of the affected systems. In environments where Romeo is integrated into automated workflows, successful exploitation could lead to persistent backdoors, unauthorized code execution, or supply chain compromises. Given the network-exposed nature of GitHub Actions and the automation context, the vulnerability could be leveraged by attackers to escalate privileges or pivot within development infrastructure. Although no active exploits are reported, the ease of exploitation and high impact necessitate urgent remediation to prevent potential damage.
Mitigation Recommendations
To mitigate CVE-2026-32805, organizations should immediately upgrade Romeo to version 0.2.2 or later, where the path traversal vulnerability is fixed. Additionally, implement strict validation and sanitization of all archive file paths before extraction, ensuring that path traversal sequences (e.g., ../) are detected and blocked. Employ sandboxing or containerization for CI/CD jobs to limit filesystem access and reduce the blast radius of potential exploits. Monitor and audit GitHub Actions workflows for usage of vulnerable Romeo versions and untrusted archive inputs. Consider implementing file integrity monitoring on critical directories to detect unauthorized changes. Finally, educate development and DevOps teams about the risks of processing untrusted archives and enforce the principle of least privilege for CI/CD pipeline components.
Affected Countries
United States, Germany, United Kingdom, Canada, France, Japan, Australia, Netherlands, India, South Korea
CVE-2026-32805: CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in ctfer-io romeo
Description
CVE-2026-32805 is a high-severity path traversal vulnerability in ctfer-io's Romeo tool versions prior to 0. 2. 2. The flaw exists in the sanitizeArchivePath function, which improperly validates archive paths due to a missing trailing path separator check, allowing crafted tar archives to write files outside the intended directory. This can lead to unauthorized file overwrites or code execution in Go applications using Romeo for code coverage measurement in GitHub Actions. Exploitation requires no authentication or user interaction and can impact confidentiality, integrity, and availability. The vulnerability is fixed in version 0. 2. 2. Organizations using Romeo in CI/CD pipelines should upgrade immediately and audit archive handling processes to prevent exploitation.
AI-Powered Analysis
Technical Analysis
CVE-2026-32805 is a path traversal vulnerability identified in the Romeo tool developed by ctfer-io, which assists in measuring code coverage for Go applications (version 1.20 and above) within GitHub Actions workflows. The vulnerability stems from an improper validation in the sanitizeArchivePath function located in webserver/api/v1/decoder.go (lines 80-88) prior to version 0.2.2. Specifically, the function uses strings.HasPrefix to check if archive file paths are within a restricted directory but fails to include a trailing path separator in the check. This oversight allows an attacker to craft a malicious tar archive containing file paths that traverse outside the intended extraction directory (e.g., using ../ sequences). When such an archive is processed, files can be written to arbitrary locations on the host filesystem, potentially overwriting critical files or injecting malicious code. The vulnerability does not require authentication or user interaction and can be exploited remotely if the vulnerable Romeo version processes untrusted archives. The CVSS 4.0 base score is 8.3 (high), reflecting the network attack vector, low attack complexity, no privileges required, no user interaction, and high impact on confidentiality and integrity. The scope is limited to Romeo versions before 0.2.2, which has addressed the issue by properly validating paths with the trailing separator included. No known exploits in the wild have been reported yet, but the vulnerability poses a significant risk in automated CI/CD environments where Romeo is used.
Potential Impact
The impact of CVE-2026-32805 is significant for organizations using Romeo in their continuous integration and deployment pipelines, especially those running Go applications with version 1.20 or later. Exploitation allows attackers to write arbitrary files outside the intended directory, which can lead to overwriting critical system or application files, injecting malicious payloads, or disrupting build and deployment processes. This compromises the confidentiality, integrity, and availability of the affected systems. In environments where Romeo is integrated into automated workflows, successful exploitation could lead to persistent backdoors, unauthorized code execution, or supply chain compromises. Given the network-exposed nature of GitHub Actions and the automation context, the vulnerability could be leveraged by attackers to escalate privileges or pivot within development infrastructure. Although no active exploits are reported, the ease of exploitation and high impact necessitate urgent remediation to prevent potential damage.
Mitigation Recommendations
To mitigate CVE-2026-32805, organizations should immediately upgrade Romeo to version 0.2.2 or later, where the path traversal vulnerability is fixed. Additionally, implement strict validation and sanitization of all archive file paths before extraction, ensuring that path traversal sequences (e.g., ../) are detected and blocked. Employ sandboxing or containerization for CI/CD jobs to limit filesystem access and reduce the blast radius of potential exploits. Monitor and audit GitHub Actions workflows for usage of vulnerable Romeo versions and untrusted archive inputs. Consider implementing file integrity monitoring on critical directories to detect unauthorized changes. Finally, educate development and DevOps teams about the risks of processing untrusted archives and enforce the principle of least privilege for CI/CD pipeline components.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-16T17:35:36.695Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69bb2a8a771bdb1749cbc625
Added to database: 3/18/2026, 10:43:22 PM
Last enriched: 3/18/2026, 10:57:40 PM
Last updated: 3/19/2026, 1:38:45 AM
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.