{"answers":{"affected":"2 open source packages ship an affected version, including io.qameta.allure:allure-commandline.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-55846 exists.","fix":"Upgrade io.qameta.allure:allure-commandline to 2.39.0 or later.","what":"CVE-2026-55846 is a medium-severity path traversal vulnerability in allure-framework allure2, published on 14 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-55846 and fix it if it is affected.\n\nWhat it is: CVE-2026-55846 is a medium-severity path traversal vulnerability in allure-framework allure2, published on 14 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-55846 exists.\n\nAffected packages and fixed versions:\n- io.qameta.allure:allure-commandline (Maven): affected all versions; fixed in 2.39.0\n- io.qameta.allure:allure-commandline (Maven): affected all versions; fixed in 2.39.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-55846/ (Markdown: https://insights.sbomify.com/CVE-2026-55846/index.md)","id":"CVE-2026-55846","markdown":"https://insights.sbomify.com/CVE-2026-55846/index.md","name":"CVE-2026-55846","record":{"aliases":["GHSA-82cg-3hv7-74gc","UBUNTU-CVE-2026-55846"],"analysis":{"component_type":"developer_tool","fix_type":"upgrade","impacts":["data_read"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Allure Report CLI","requires_auth":"none","summary":"An unauthenticated attacker can read arbitrary files from the server via path traversal in the Allure Report HTTP server, potentially exposing sensitive CI/CD data.","user_interaction":"not_required","vuln_class":"path_traversal"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":6.2,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"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.","ecosystems":["Maven"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Allure: Path Traversal in Allure Report HTTP Server Allows Arbitrary File Read","id":"CVE-2026-55846","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Maven","product":null,"products":[],"type":"path_traversal","year":"2026"},"n_packages":2,"n_references":4,"next":{"headline":"Allure: Stored XSS via unescaped ANSI helper in Allure report status message/trace rendering","id":"CVE-2026-55847"},"packages":[{"ecosystem":"Maven","fixed":["2.39.0"],"introduced":["0"],"last_affected":[],"package":"io.qameta.allure:allure-commandline","purl":null,"source":"GHSA-82cg-3hv7-74gc"},{"ecosystem":"Maven","fixed":["2.39.0"],"introduced":["0"],"last_affected":[],"package":"io.qameta.allure:allure-commandline","purl":"pkg:maven/io.qameta.allure/allure-commandline","source":"GHSA-82cg-3hv7-74gc"}],"prev":{"headline":"Information disclosure in core","id":"CVE-2026-55844"},"products":["allure2"],"published":"2026-09-14","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-09-16","vendors":["allure-framework"]},"summary":"An unauthenticated attacker can read arbitrary files from the server via path traversal in the Allure Report HTTP server, potentially exposing sensitive CI/CD data.","url":"https://insights.sbomify.com/CVE-2026-55846/"}