Java
CVE-2026-33166
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious test result JSON file
-
DeliverySpecify sensitive file path in attachment source
-
ExploitUpload to Allure report generator
-
ExecutionPath traversal resolves to host system file
-
ImpactSensitive file included in generated report
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Attacker must craft malicious test result files (-result.json, -container.json, or .plist) with path traversal payloads in attachment source fields. Allure report generator processes these files during report generation without validation. No authentication or victim interaction required; exploitation occurs during automated test result processing. |
| Impact | This vulnerability presents high real-world risk with a CVSS score of 8.6 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N), indicating network-exploitable with low complexity, no privileges required, and high confidentiality impact with scope change. The availability of a working proof-of-concept significantly elevates practical exploitation risk. In CI/CD contexts (Jenkins, GitHub Actions), this enables credential theft and supply chain compromise through malicious pull requests that trigger automated test report generation. The attack vector is particularly concerning because it exploits legitimate workflow automation rather than requiring direct system access. While EPSS scores are not provided, the combination of low attack complexity, no authentication requirement, functional POC, and high-value targets (CI/CD secrets, cloud credentials) makes this a genuine priority for organizations using Allure in automated pipelines. The scope change aspect indicates the vulnerability can affect resources beyond the vulnerable component itself, amplifying impact in multi-tenant or containerized environments. |
| Exploit ScenarioDerived | An attacker submits a pull request to a GitHub repository using Allure for test reporting, including a malicious test-result.json file with attachment sources pointing to '../../../../../../../../home/runner/.aws/credentials' and '../../../etc/environment'. When the CI workflow runs and generates the Allure report, these files are copied into the report's attachment directory. The attacker then downloads the published report artifact, extracting AWS credentials and environment variables that provide access to production cloud infrastructure. The attack requires no authentication and succeeds because the CI runner trusts pull request content to generate test reports. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 18, 2026
Path traversal in Allure report generator for Jenkins allows unauthenticated attackers to read arbitrary files from the host system by crafting malicious test result files with specially crafted attachment paths. The vulnerability stems from insufficient path validation when processing attachments during report generation, enabling sensitive files to be included in generated reports. A patch is not currently available.
Earlier versions of this analysis (1)
A path traversal vulnerability in the Allure report generator allows arbitrary file read through maliciously crafted test result files. An attacker can embed path traversal sequences (e.g., '../../../etc/passwd') in attachment sources within JSON or plist result files, causing Allure to include sensitive files in generated reports. A proof-of-concept exists demonstrating exfiltration of /etc/passwd, and the vulnerability poses significant risk in CI/CD environments where untrusted pull requests trigger report generation with access to secrets and credentials.
RemediationAI
Users should immediately consult the vendor security advisory at https://github.com/allure-framework/allure2/security/advisories/GHSA-64hm-gfwq-jppw for patched versions and upgrade instructions for io.qameta.allure:allure-generator. As interim mitigations until patching is complete, restrict report generation to trusted result files only by implementing input validation before invoking allure generate, isolate report generation processes in sandboxed containers with minimal filesystem access using read-only mounts for sensitive directories, and avoid running Allure generators with elevated privileges or in environments with access to secrets. In CI/CD pipelines processing untrusted pull requests, execute Allure report generation in ephemeral environments without access to production credentials or sensitive configuration files. Organizations using custom Allure web services should immediately disable user upload functionality until the vulnerability is patched.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in maven
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability affects io.qameta.allure:allure-generator (Maven package) and stems from CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). The root cause exists in multiple plugin files (Allure2Plugin.java line 264, Allure1Plugin.java line 328, XcTestPlugin.java line 181) where Path.resolve() is called on user-controlled attachment source values without path normalization or validation. Java's Path.resolve() behavior treats absolute paths or paths with traversal sequences literally, allowing escape from the intended allure-results directory. When processing -result.json, -container.json, or .plist files, the generator reads attachment paths directly from these files and resolves them against the filesystem without boundary checks, making any file readable by the Allure process accessible to attackers.
Know when Java gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
2DescriptionGitHub Advisory
Summary
The Allure report generator is vulnerable to an arbitrary file read via path traversal when processing test results. An attacker can craft a malicious result file (-result.json, -container.json, or .plist) that points an attachment source to a sensitive file on the host system. During report generation, Allure will resolve these paths and include the sensitive files in the final report.
Details
The vulnerability exists in several plugins where attachment paths are resolved using unvalidated user input. The code uses Path.resolve() without normalizing the path or checking if the resulting file remains within the intended results directory.
Affected Files and Lines:
Allure2Plugin.java (Line 264): final Path attachmentFile = source.resolve(attachment.getSource());
Allure1Plugin.java (Line 328): final Path attachmentFile = source.resolve(attachment.getSource());
XcTestPlugin.java (Line 181): attachments.resolve(String.format("Screenshot_%s.%s", uuid, ext))
Since resolve() allows absolute paths or ../ sequences to escape the base directory, any file readable by the process can be exfiltrated.
PoC
- Create a directory named allure-results.
- Create a file malicious-result.json inside it:
{
"uuid": "poc-traversal",
"name": "Path Traversal PoC",
"status": "passed",
"attachments": [
{
"name": "Sensitive Data",
"source": "../../../../../../../../../../../etc/passwd",
"type": "text/plain"
}
]
}- run
allure generate allure-results -o allure-report - The content of
/etc/passwdwill now be present inallure-report/data/attachments/.
Impact
This is a High Severity vulnerability. In CI/CD environments (GitHub Actions, Jenkins), an attacker submitting a Pull Request can exfiltrate server secrets, cloud credentials, or environment configuration files stored on the runner disk. It also may affect custom Allure web services where users can upload results, allowing them to read arbitrary files from the server's filesystem. Allure TestOps is not affected.
Executive ViewAI
A critical vulnerability in Allure report generation allows attackers to read arbitrary files from systems running the tool, creating a direct threat to sensitive data stored in CI/CD environments. Organizations using Allure to process test results from untrusted sources (such as external pull requests) face immediate risk of credential and secret exposure.
Disable Allure attachment feature or restrict attachment sources to whitelisted, trusted paths only; run Allure in containerized environments with read-only root filesystems and restricted volume mounts; implement network segmentation isolating CI/CD systems from production secrets storage; enforce strict input validation and sanitization of all test result files before processing; use CI/CD platform features to prevent report generation from untrusted pull requests; monitor file access patterns during report generation for anomalous reads.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)GitHub Advisory
Related Vulnerabilities in Path Traversal Vulnerabilities
View all 4Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
GHSA-64hm-gfwq-jppw
NVD
CVE.org
EPSS
VulDB
Exploit-DB