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 the ctfer-io romeo tool versions prior to 0. 2. 2. The flaw exists in the sanitizeArchivePath function, which incorrectly validates archive paths due to a missing trailing path separator check. This allows a crafted tar archive to write files outside the intended extraction directory, potentially overwriting critical files or placing malicious files on the system. The vulnerability requires no authentication or user interaction and can be exploited remotely if an attacker can supply a malicious archive. The issue affects Go applications using romeo for code coverage measurement in GitHub Actions workflows. Version 0. 2. 2 of romeo fixes this vulnerability.
AI Analysis
Technical Summary
CVE-2026-32805 is a path traversal vulnerability classified under CWE-22 affecting the ctfer-io romeo project, a tool designed to facilitate high code coverage measurement for Go applications (version ≥1.20) within GitHub Actions. The vulnerability resides in the sanitizeArchivePath function located in webserver/api/v1/decoder.go (lines 80-88) in romeo versions prior to 0.2.2. The function attempts to restrict extracted archive paths to a designated directory by checking if the path has a specific prefix using strings.HasPrefix. However, it fails to include a trailing path separator in this check, allowing crafted tar archive entries with relative path components (e.g., ../) to bypass the restriction. Consequently, an attacker can create a malicious tar archive that, when processed by romeo, writes files outside the intended extraction directory. This can lead to overwriting critical files, planting malicious payloads, or disrupting application behavior. The vulnerability is remotely exploitable without authentication or user interaction, as it only requires supplying a crafted archive to the vulnerable romeo instance. The CVSS 4.0 base score is 8.3 (high), reflecting the network attack vector, low attack complexity, no privileges required, no user interaction, but with high impact on confidentiality and availability, and limited scope change. No known exploits are reported in the wild as of publication. The issue was addressed in romeo version 0.2.2 by correcting the path validation logic to properly enforce directory restrictions during archive extraction.
Potential Impact
The impact of CVE-2026-32805 is significant for organizations using the vulnerable versions of romeo in their CI/CD pipelines, especially those relying on GitHub Actions for Go application testing and coverage measurement. Exploitation can lead to arbitrary file writes outside the intended directory, potentially overwriting system or application files, injecting malicious code, or disrupting build and deployment processes. This could result in compromised build environments, supply chain attacks, or denial of service. Since romeo is used in automated testing workflows, attackers could leverage this vulnerability to persist malicious artifacts within build environments or manipulate test results. The lack of authentication and user interaction requirements increases the risk, especially in environments where untrusted archives might be processed. Although no known exploits exist currently, the vulnerability's high severity and ease of exploitation make it a critical risk for affected organizations.
Mitigation Recommendations
To mitigate this vulnerability, organizations should immediately upgrade romeo to version 0.2.2 or later, where the path traversal issue is fixed. Until upgrading is possible, implement strict validation and sanitization of all archive inputs before processing, including rejecting archives containing path traversal sequences such as '../'. Employ runtime monitoring to detect unexpected file writes outside designated directories during archive extraction. Restrict the execution environment of romeo to minimal privileges and isolated containers to limit potential damage from exploitation. Additionally, review and harden CI/CD pipeline permissions to prevent unauthorized injection of malicious archives. Incorporate security scanning tools that detect path traversal patterns in archives and code. Finally, maintain awareness of romeo usage across the organization to ensure all instances are patched promptly.
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 the ctfer-io romeo tool versions prior to 0. 2. 2. The flaw exists in the sanitizeArchivePath function, which incorrectly validates archive paths due to a missing trailing path separator check. This allows a crafted tar archive to write files outside the intended extraction directory, potentially overwriting critical files or placing malicious files on the system. The vulnerability requires no authentication or user interaction and can be exploited remotely if an attacker can supply a malicious archive. The issue affects Go applications using romeo for code coverage measurement in GitHub Actions workflows. Version 0. 2. 2 of romeo fixes this vulnerability.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-32805 is a path traversal vulnerability classified under CWE-22 affecting the ctfer-io romeo project, a tool designed to facilitate high code coverage measurement for Go applications (version ≥1.20) within GitHub Actions. The vulnerability resides in the sanitizeArchivePath function located in webserver/api/v1/decoder.go (lines 80-88) in romeo versions prior to 0.2.2. The function attempts to restrict extracted archive paths to a designated directory by checking if the path has a specific prefix using strings.HasPrefix. However, it fails to include a trailing path separator in this check, allowing crafted tar archive entries with relative path components (e.g., ../) to bypass the restriction. Consequently, an attacker can create a malicious tar archive that, when processed by romeo, writes files outside the intended extraction directory. This can lead to overwriting critical files, planting malicious payloads, or disrupting application behavior. The vulnerability is remotely exploitable without authentication or user interaction, as it only requires supplying a crafted archive to the vulnerable romeo instance. The CVSS 4.0 base score is 8.3 (high), reflecting the network attack vector, low attack complexity, no privileges required, no user interaction, but with high impact on confidentiality and availability, and limited scope change. No known exploits are reported in the wild as of publication. The issue was addressed in romeo version 0.2.2 by correcting the path validation logic to properly enforce directory restrictions during archive extraction.
Potential Impact
The impact of CVE-2026-32805 is significant for organizations using the vulnerable versions of romeo in their CI/CD pipelines, especially those relying on GitHub Actions for Go application testing and coverage measurement. Exploitation can lead to arbitrary file writes outside the intended directory, potentially overwriting system or application files, injecting malicious code, or disrupting build and deployment processes. This could result in compromised build environments, supply chain attacks, or denial of service. Since romeo is used in automated testing workflows, attackers could leverage this vulnerability to persist malicious artifacts within build environments or manipulate test results. The lack of authentication and user interaction requirements increases the risk, especially in environments where untrusted archives might be processed. Although no known exploits exist currently, the vulnerability's high severity and ease of exploitation make it a critical risk for affected organizations.
Mitigation Recommendations
To mitigate this vulnerability, organizations should immediately upgrade romeo to version 0.2.2 or later, where the path traversal issue is fixed. Until upgrading is possible, implement strict validation and sanitization of all archive inputs before processing, including rejecting archives containing path traversal sequences such as '../'. Employ runtime monitoring to detect unexpected file writes outside designated directories during archive extraction. Restrict the execution environment of romeo to minimal privileges and isolated containers to limit potential damage from exploitation. Additionally, review and harden CI/CD pipeline permissions to prevent unauthorized injection of malicious archives. Incorporate security scanning tools that detect path traversal patterns in archives and code. Finally, maintain awareness of romeo usage across the organization to ensure all instances are patched promptly.
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/26/2026, 1:20:14 AM
Last updated: 5/1/2026, 3:17:29 PM
Views: 81
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 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.