Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-55847— Allure: Stored XSS via unescaped ANSI helper in Allure report status message/trace rendering

Quick assessment

Affected
allure-framework allure2
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Allure 2 是 Allure Report 的 2.x 分支,Allure Report 是一个多语言测试报告工具。 在 2.39.0 之前,位于 的 辅助函数将攻击者可控的 和 值通过 进行转换,但未进行 HTML 转义,并将结果包装为 Handlebars 的 ,从而禁用了位于 模板中的自动转义机制。 可以直接从精心构造的 JUnit XML 的失败消息(failure messages)和追踪信息(traces)中填充这些字段。此外,在 TRX、xUnit XML、xctest、Allure1 和 Al

CVSS 6.1 · Medium

Affected Version Matrix 2

VendorProduct Version RangeStatus
allure-framework allure2 < 2.39.0 affected
io.qameta.allure allure-generator < 2.39.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-55847

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Allure: Stored XSS via unescaped ANSI helper in Allure report status message/trace rendering
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
allure-framework allure2 < 2.39.0 -
io.qameta.allure allure-generator < 2.39.0 -

II. Public POCs for CVE-2026-55847

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-55847

登录查看更多情报信息。

Patches & Fixes for CVE-2026-55847 (2)

Vendor Advisories for CVE-2026-55847 (1)

Vendor Pages for CVE-2026-55847 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-55847

No comments yet


Leave a comment