{"id":"CVE-2026-55846","title":"Allure 2 is the version 2.x branch of Allure Report, a multi-language test reporting tool","summary":"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/ma…","severity":"medium","cvss":6.2,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","cwe":["CWE-22"],"vendor":"allure-framework","product":"allure2","affected":["allure2 < 2.39.0"],"patched":["io.qameta.allure:allure-commandline 2.39.0"],"published":"2026-09-14","updated":"2026-09-16","sourceUpdated":"2026-09-16T16:17:10.377","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-55846","references":[{"url":"https://github.com/allure-framework/allure2/commit/e83cd67658bc2266832ab366eadd0bc1f48baced","label":"security-advisories@github.com"},{"url":"https://github.com/allure-framework/allure2/pull/3288","label":"security-advisories@github.com"},{"url":"https://github.com/allure-framework/allure2/releases/tag/2.39.0","label":"security-advisories@github.com"},{"url":"https://github.com/allure-framework/allure2/security/advisories/GHSA-82cg-3hv7-74gc","label":"security-advisories@github.com"},{"url":"https://github.com/allure-framework/allure2/security/advisories/GHSA-82cg-3hv7-74gc","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://github.com/advisories/GHSA-82cg-3hv7-74gc"}],"tags":["nvd","cve.org","ghsa","maven","exploit-available"],"epss":0.00149,"epssPercentile":0.04501,"ecosystem":"maven","exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-16T15:23:28.166608Z"},"ingestedAt":"2026-06-22T13:35:24.338Z","slug":"CVE-2026-55846","body":"## Overview\n\nAllure 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-55846)\n\nAffected packages:\n\n- `io.qameta.allure:allure-commandline <= 2.38.1`\n\nPatched in:\n\n- `io.qameta.allure:allure-commandline 2.39.0`\n\nSource: https://github.com/advisories/GHSA-82cg-3hv7-74gc","depth":"twilight","depthScore":46,"depthScoreParts":{"impact":34.1,"likelihood":0,"exploitation":12,"ransomware":0},"changes":[{"seq":205372,"id":"CVE-2026-55846","ts":1789574380322,"field":"exploit_available","old":"false","new":"true"}]}