Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate as STANDARD_REGISTRY user
-
DeliverySubmit XSS payload as companyName via branding API
-
ExploitPayload persisted in Guardian backend
-
InstallVictim loads any Guardian frontend page
-
C2BrandingService renders companyName via innerHTML
-
ExecuteInjected JavaScript executes in victim browser context
-
ImpactSession tokens or credentials exfiltrated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to hold the STANDARD_REGISTRY role within the Guardian application - a defined named role with authority over branding configuration, distinct from the administrator role. The vulnerable entry point is specifically the branding configuration API endpoint's companyName parameter. Once the payload is stored, it executes passively in every authenticated user's browser on every page load with no further interaction required from the attacker. Limiting factors are: (1) attacker must possess or compromise a STANDARD_REGISTRY role account (PR:H); (2) victims must be authenticated and load any Guardian frontend page (UI:P - passive but required). No non-default configuration, specific OS platform, or unusual deployment topology is required beyond the role assignment itself. |
| Impact | The CVSS 4.0 score of 4.8 with vector AV:N/AC:L/AT:N/PR:H/UI:P accurately represents the real-world risk profile. The PR:H metric is the primary constraint: exploitation requires the STANDARD_REGISTRY role, limiting the attacker pool to insiders, compromised privileged accounts, or misconfigured deployments where this role is overly distributed. The UI:P (passive user interaction) metric means the stored payload activates automatically upon any authenticated user loading a Guardian page - no phishing or social engineering is required beyond the initial role-privileged write. Impact metrics SC:L/SI:L on subsequent systems (victims' browsers) with no impact on the vulnerable system itself correctly models stored XSS: the injecting account gains indirect influence over other users' sessions rather than the backend directly. No KEV listing and no standalone POC are confirmed, keeping this in a lower-urgency tier for most organizations; however, in multi-tenant or SaaS deployments of Guardian where STANDARD_REGISTRY is assigned to semi-trusted external parties, the real-world risk is meaningfully higher than the score suggests. |
| Exploit ScenarioDerived | An attacker authenticated with the STANDARD_REGISTRY role submits a crafted companyName value such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 18, 2026
Stored cross-site scripting in Hashgraph Guardian through 3.5.0 allows an authenticated user holding the STANDARD_REGISTRY role to inject persistent JavaScript payloads into the branding configuration's companyName field via the branding API endpoint. The injected script executes in every authenticated user's browser on every page load due to unsanitized innerHTML assignments in both the BrandingService and BrandingComponent Angular classes. No public exploit has been identified at time of analysis, and the vulnerability is not listed in CISA KEV; however, the fix diff is publicly visible in GitHub PR #6190, lowering the barrier for exploit development.
RemediationAI
The primary fix is to apply commit ba8c566807848cf84360716438056d8d8d2c8362 (GitHub PR #6190), which replaces all three unsafe innerHTML assignments with textContent in branding.service.ts and branding.component.ts. Note that only the commit hash is confirmed - a formally tagged patched release version has not been independently verified at time of analysis; operators should track the Guardian release changelog to confirm when this commit ships in a versioned release. As an immediate compensating control, audit and restrict the STANDARD_REGISTRY role assignment: remove it from any accounts that do not require branding configuration authority, as this role is the sole exploitation prerequisite. A WAF rule rejecting HTML angle brackets or script-related keywords in the branding API's companyName parameter could provide a secondary layer, but filter bypass is feasible and should not substitute for the code fix. See the VulnCheck advisory at https://www.vulncheck.com/advisories/hashgraph-guardian-stored-xss-via-branding-companyname-field for additional guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Hashgraph Guardian is a blockchain governance platform built with an Angular frontend. The vulnerable code resides in two Angular TypeScript files: frontend/src/app/services/branding.service.ts and frontend/src/app/views/branding/branding.component.ts. In both files, user-controlled data retrieved from the branding configuration API was assigned directly to a DOM element using innerHTML, a pattern classified under CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-Site Scripting). The innerHTML property parses and renders HTML including embedded script tags and event handlers, whereas the safe alternative textContent treats the value as literal text. The fix in commit ba8c566 replaces all three innerHTML assignments with textContent across both files. CPE cpe:2.3:a:hashgraph:guardian:*:*:*:*:*:*:*:* confirms the vulnerable scope spans all Guardian versions through 3.5.0 with no version floor.
Know when Guardian gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Requires STANDARD_REGISTRY role (PR:H); stored payload auto-executes on victim page load (UI:R); scope changes to victims' browsers (S:C); low confidentiality and integrity impact consistent with XSS session exposure.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Hashgraph Guardian through 3.5.0, fixed in commit ba8c566, contains a stored cross-site scripting vulnerability that allows authenticated users with the STANDARD_REGISTRY role to inject malicious scripts by submitting a crafted companyName value via the branding configuration API endpoint. Attackers can exploit the unsanitized innerHTML assignment in the branding service to execute arbitrary JavaScript in the browser of every authenticated user on every page load.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
OS command injection in Guardian language-system lets unauthenticated remote attackers run arbitrary shell commands by i
Remote code execution in Guardian language-system allows unauthenticated attackers to run arbitrary OS commands by injec
Unauthenticated SQL injection in Guardian Language System lets remote attackers manipulate the backend database by injec
Error-based SQL injection in Guardian Language-System allows a network-accessible authenticated attacker to extract the
SQL injection in Guardian Language-System's designer.php (line 124) allows attackers to extract, modify, or destroy the
Error-based SQL injection in Guardian language-system's subtitles.php exposes full database contents to low-privileged a
Error-based SQL injection in Guardian Language-System exposes the full database to low-privileged authenticated attacker
Error-based SQL injection in Guardian language-system's text_file.php exposes the full database to extraction via a triv
SQL injection in Guardian language-system's media.php endpoint allows low-privilege authenticated attackers to extract t
Nozomi Networks OS before 19.0.4 allows /#/network?tab=network_node_list.html CSV Injection. Rated high severity (CVSS 7
Nozomi Guardian before 19.0.4 allows attackers to achieve stored XSS (in the web front end) by leveraging the ability to
A SQL Injection vulnerability in Nozomi Networks Guardian and CMC, due to improper input validation in certain fields us
EUVD-2026-37952
GHSA-jqx7-93j3-2xqf
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB