---
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.04507
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'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-55846)

Affected packages:

- `io.qameta.allure:allure-commandline <= 2.38.1`

Patched in:

- `io.qameta.allure:allure-commandline 2.39.0`

Source: https://github.com/advisories/GHSA-82cg-3hv7-74gc
