Summary
Vulnerability: Stored DOM XSS in main landing page via System Settings – Company Information (Persistent Payload Injection)
- Stored Cross-Site Scripting via Unsanitized Company Information Configuration Fields
Description
The application fails to properly sanitize user-controlled input within System Settings – Company Information. Several administrative configuration fields accept attacker-controlled input that is stored server-side and later rendered without proper output encoding.
Affected fields include, but are not limited to:
- Company Name
- Slogan
- Company Phone
- Company Mobile
- Company Email
- Google Maps iframe link
- Company Logo and other media-related fields
These values are persisted in the database and rendered unsafely on public-facing pages only, such as the main landing page. There is no execution in the administrative dashboard—the vulnerability only impacts the public frontend.
Unlike the same-page stored DOM XSS vulnerability, this issue executes only on separate public-facing pages and not on the settings page itself.
Affected Functionality
- System Settings – Company Information configuration
- Public-facing page rendering (main landing page and other public pages)
- Storage and retrieval of company information values
Attack Scenario
- An attacker injects a malicious JavaScript payload into one or more Company Information fields.
- The application stores these values without sanitization or encoding.
- The payload is rendered only on public-facing pages, including the main landing page.
- The payload executes automatically in the browser context of who access the public site.