CVE-2026-55847
Received Received - Intake

XSS in Allure Report via Unescaped ANSI Helper

Vulnerability report for CVE-2026-55847, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-14

Last updated on: 2026-09-14

Assigner: GitHub, Inc.

Description

Allure 2 is the version 2.x branch of Allure Report, a multi-language test reporting tool. Prior to 2.39.0, the ansi.js helper at allure-generator/src/main/javascript/helpers/ansi.js passes attacker-influenced statusMessage and statusTrace values through AnsiToHtml without HTML escaping and wraps the result in Handlebars SafeString, disabling template auto-escaping in allure-generator/src/main/javascript/blocks/status-details/status-details.hbs. JunitXmlPlugin.java can populate these fields directly from crafted JUnit XML failure messages and traces, and equivalent input flows exist in the TRX, xUnit XML, xctest, and Allure1 and Allure2 plugins. When a user views the affected status details, unescaped markup executes arbitrary JavaScript in the report origin, which can expose report data and compromise sessions associated with that origin. This is an incomplete-fix case because PR 3271 escaped link helpers but did not address the ANSI helper. This issue is fixed in version 2.39.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-14
Last Modified
2026-09-14
Generated
2026-09-14
AI Q&A
2026-09-14
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 4 associated CPEs
Vendor Product Version / Range
allure report 2.39.0
allure report to 2.39.0 (exc)
allure_framework allure2 to 2.39.0 (exc)
allure_framework allure2 2.39.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-55847 is a stored cross-site scripting (XSS) vulnerability in Allure 2, a test reporting tool. The issue occurs because the ansi.js helper processes user-controlled statusMessage and statusTrace values without HTML escaping. These values are wrapped in a Handlebars SafeString, disabling auto-escaping. Attackers can inject malicious JavaScript into test result files (like crafted JUnit XML), which executes when the Allure report is viewed in a browser. This allows arbitrary code execution, session hijacking, or data theft.

Detection Guidance

To detect this vulnerability, inspect Allure report files for crafted JUnit XML or other test result files containing malicious JavaScript in statusMessage or statusTrace fields. Check Allure versions below 2.39.0. Use commands like grep to search for suspicious patterns in report files or test artifacts.

Impact Analysis

If you use Allure 2 versions prior to 2.39.0, an attacker could craft malicious test reports containing JavaScript. When you view these reports in a browser, the injected script runs with the report's origin privileges. This could expose sensitive report data, steal cookies, hijack active sessions, or perform actions on your behalf. The impact is higher if reports are hosted on CI/CD platforms with active user sessions.

Compliance Impact

This vulnerability could lead to unauthorized data access or exfiltration, violating GDPR's data protection principles (Article 5) and HIPAA's security requirements (45 CFR Β§ 164.308). If exploited, it may result in data breaches, triggering mandatory breach notifications under GDPR (Article 33) and HIPAA (45 CFR Β§ 164.408). Organizations using Allure 2 must patch to version 2.39.0 to maintain compliance.

Mitigation Strategies

Upgrade Allure to version 2.39.0 or later. Sanitize test result files before processing. Configure ANSI-to-HTML converter with escapeForHtml: true. Review and sanitize HTML descriptions in plugins using JSoup or similar libraries.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-55847. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart