mediumCVSS 5.4Vulnerability

CVE-2026-73262

## Summary Prowler's HTML output formatter inserts `finding.resource_tags` into the generated report without HTML escaping. A cloud principal who can create or edit a resource tag in an account that is later scanned can store HTML or JavaScript in that tag. When another user opens the generated Prowler HTML report, the payload executes in the report page. ## Impact This is stored cross-site scripting in a security report artifact. The attacker needs permission to influence tags on a scanned cloud resource, and the victim must open the generated HTML report. In that context, JavaScript can read and modify the report DOM, alter displayed findings, and interact with any same-origin local or hosted report content available to the browser. This can undermine trust in generated security findings and can expose data contained in the report page. ## Gate checks The repository has 13,875 GitHub stars, which is above the 10,000 star floor. `SECURITY.md` is present and does not reject GitHub private reporting. The dedicated GitHub private vulnerability reporting endpoint for `prowler-cloud/prowler` returned `true`. ## Affected versions The vulnerable sink is present in current `master` at commit `329dfdf8e6cb8bc0424fb54b6595408e20969782` and in the latest GitHub release tag `5.28.0`. The package metadata identifies the Python package as `prowler`. ## Technical details The HTML formatter builds each finding row with an f-string in `prowler/lib/outputs/html/html.py`. Neighboring fields are explicitly escaped: - `resource_uid` is escaped at line 85 with `.replace("<", "&lt;").replace(">", "&gt;")`. - `status_extended` is escaped at line 87 with the same pattern. The tag column does not apply equivalent escaping: ```python <td>{parse_html_string(unroll_dict(finding.resource_tags))}</td> ``` `unroll_dict` concatenates tag keys and values into a string, and `parse_html_string` only prefixes each item with an HTML bullet. Neither function escapes `<`, `>`, quotes, or eve

Properties

severity
medium
summary
Prowler: Stored XSS in HTML reports through unescaped cloud resource tags
epss_score
0.00215
cvss_score
5.4
ghsa_published
2026-09-08T18:09:25Z
source_url
https://github.com/advisories/GHSA-c2jg-2778-ggm4
ghsa_updated
2026-09-08T18:09:26Z
ghsa_id
GHSA-c2jg-2778-ggm4
cve_id
CVE-2026-73262
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
is_ghsa_only
false
epss_percentile
0.11811

Related Entities (7)

ENRICHED_BY (1)

[Source]FIRST EPSS

VULNERABLE_TO (2)

[Software]pip/prowler
[Software]pip/prowler-cloud

AFFECTS (2)

[Software]pip/prowler
[Software]pip/prowler-cloud

HAS_WEAKNESS (1)

[Weakness]Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-73262 (CVSS 5.4) — Ninja Signal Threat Intelligence | Ninja Signal