{"id":"CVE-2026-55846","description":"Allure 2 is the version 2.x branch of Allure Report, a multi-language test reporting tool. Prior to 2.39.0, the HTTP server started by allure serve and allure open uses URI.getPath() in Commands.setUpServer() in allure-commandline/src/main/java/io/qameta/allure/Commands.java and passes the percent-decoded request path to reportDirectory.resolve() without normalizing the result or confirming that it remains inside that directory. An unauthenticated client that can reach the server can submit parent-directory segments, including percent-encoded segments, and cause serveFile() to return any regular file readable by the Allure process. The server binds to localhost by default, but the --host option can expose it to other systems, and local users, adjacent containers, or browser-origin attacks may reach a local listener. This can disclose credentials, configuration, source code, build secrets, and other CI/CD data. This issue is fixed in version 2.39.0.","cvssScore":6.2,"cvssVersion":"3.1","cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","cvssMetrics":[{"version":"3.1","score":6.2,"severity":"MEDIUM","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","source":"a0819718-46f1-4df5-94e2-005712e83aaa","sourceName":"GitHub_M","type":"Primary"}],"cwes":["CWE-22"],"resolved":"MITIGATED-BY-RASP","published":"2026-09-14","lastModified":"2026-09-14","references":[{"url":"https://github.com/allure-framework/allure2/commit/e83cd67658bc2266832ab366eadd0bc1f48baced","source":"patch-hint","tags":["commit"]},{"url":"https://github.com/allure-framework/allure2/security/advisories/GHSA-82cg-3hv7-74gc","source":"osv","tags":["WEB"]},{"url":"https://github.com/allure-framework/allure2","source":"osv","tags":["PACKAGE"]},{"url":"https://github.com/allure-framework/allure2/pull/3288","source":"a0819718-46f1-4df5-94e2-005712e83aaa","tags":["x_refsource_MISC"]},{"url":"https://github.com/allure-framework/allure2/releases/tag/2.39.0","source":"a0819718-46f1-4df5-94e2-005712e83aaa","tags":["x_refsource_MISC"]}],"reasoning":{"decidingSource":"secure-rule-match","decidingReason":"Promoted to MITIGATED-BY-RASP (security rule): this CVE's weakness (CWE-22: Path Traversal) can be mitigated by an ARMR path-traversal security rule that blocks this class of attack at the JVM level, without requiring a CVE-specific patch.","verdicts":[{"rule":"rejected","stage":"identity","outcome":"no-match"},{"rule":"armr-patch-file","stage":"scope","outcome":"no-match"},{"rule":"armr-secure-rule-file","stage":"scope","outcome":"no-match"},{"rule":"manual-classification","stage":"scope","outcome":"no-match"},{"rule":"h2-history","stage":"scope","outcome":"no-match"},{"rule":"non-java-upstream","stage":"scope","outcome":"no-match"},{"rule":"oracle-component","stage":"scope","outcome":"no-match"},{"rule":"osv-maven","stage":"scope","outcome":"matched","status":"QUEUED-FOR-REVIEW","detail":"Maven packages: io.qameta.allure:allure-commandline"},{"rule":"patch-hint","stage":"disposition","outcome":"matched","status":"MITIGATION-CANDIDATE","detail":"References include candidate fix URL (commit tier): https://github.com/allure-framework/allure2/commit/e83cd67658bc2266832ab366eadd0bc1f48baced"},{"rule":"open-source-maven","stage":"disposition","outcome":"skipped"},{"rule":"poc-derivable","stage":"disposition","outcome":"skipped"},{"rule":"no-exploit","stage":"disposition","outcome":"skipped"},{"rule":"secure-rule-match","stage":"disposition","outcome":"matched","status":"MITIGATED-BY-RASP","detail":"CWE-22 (Path Traversal) is mitigable by an ARMR path-traversal security rule.","decisive":true},{"rule":"below-action-threshold","stage":"disposition","outcome":"skipped"},{"rule":"no-exploit-published","stage":"disposition","outcome":"skipped"}],"patchHintUrl":"https://github.com/allure-framework/allure2/commit/e83cd67658bc2266832ab366eadd0bc1f48baced","patchHintTier":"commit","affectedPackages":[{"name":"io.qameta.allure:allure-commandline","introduced":"0","fixed":"2.39.0"}]},"assessment":{"record":{"state":"active"},"protection":{"level":"full","mechanisms":["security-rule"]},"action":{"state":"available","type":"security-rule"},"review":{"state":"automated","basis":"inferred"}},"signals":{"hasPOC":false,"pocCount":0},"kev":{"inKEV":false},"epss":{"available":false},"ssvc":{"available":false},"patchHintUrl":"https://github.com/allure-framework/allure2/commit/e83cd67658bc2266832ab366eadd0bc1f48baced","patchHintTier":"commit","pendingNvdValidation":true}