VYPR
Unrated severityNVD Advisory· Published May 2, 2024· Updated Aug 2, 2024

CVE-2024-33303

CVE-2024-33303

Description

SourceCodester Product Show Room 1.0 is vulnerable to Cross Site Scripting (XSS) via "First Name" under Add Users.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Stored XSS in SourceCodester Product Show Room 1.0 allows attackers to inject malicious JavaScript via the First Name field, leading to session theft.

Vulnerability

SourceCodester Product Show Room 1.0 is vulnerable to stored cross-site scripting (XSS) in the First Name parameter of the user creation functionality. The affected endpoint is /psrs/classes/Users.php?f=save, which accepts a POST request. The application fails to sanitize or encode the First Name input before storing it, allowing an attacker to inject arbitrary JavaScript code that persists in the database and executes when any user views the affected page [1].

Exploitation

An attacker can exploit this vulnerability by sending a crafted POST request to /psrs/classes/Users.php?f=save with a malicious payload in the First Name parameter. No authentication is explicitly required, but the attacker must be able to reach the endpoint. The proof-of-concept payload uses an ` tag with an onerror event to execute JavaScript, such as ">`. Once the request is processed, the payload is stored and executed in the browsers of any user (including administrators) who subsequently accesses the user list or profile page [1].

Impact

Successful exploitation results in stored XSS, allowing the attacker to execute arbitrary JavaScript in the context of the victim's browser. This can lead to theft of session cookies, account takeover, and further malicious actions such as defacement or redirection to phishing sites. The attack is persistent, affecting all users who view the compromised data [1].

Mitigation

As of the publication date (2024-05-02), no official patch has been released by SourceCodester for Product Show Room 1.0. The vendor has not acknowledged the vulnerability or provided a fixed version. Mitigation requires manual input validation and output encoding: sanitize the First Name field to strip or escape HTML tags, and apply context‑appropriate encoding when rendering stored data. Additionally, implement Content Security Policy (CSP) headers to reduce the impact of XSS. Users should consider upgrading to a maintained alternative if no update becomes available [1].

AI Insight generated on May 27, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

2

Patches

0

No patches discovered yet.

Vulnerability mechanics

Root cause

"Missing input validation and output encoding on the "First Name" parameter allows stored cross-site scripting (XSS)."

Attack vector

An attacker sends a crafted HTTP POST request to `/psrs/classes/Users.php?f=save` with a malicious payload in the "First Name" field, such as `">

Affected code

The vulnerable endpoint is `/psrs/classes/Users.php?f=save`, which accepts a POST request to create a new user. The "First Name" parameter (and also "Middlename" and "Lastname" as shown in the PoC) is stored without sanitization and later rendered on the web page without output encoding [ref_id=1].

What the fix does

No patch is provided in the bundle. The advisory recommends implementing proper input validation and server-side sanitization before storing user input in the database, and applying output encoding to all user-controlled data when it is rendered on web pages [ref_id=1]. These measures would prevent injected JavaScript from being executed in the browser of any user who views the affected page.

Preconditions

  • networkAttacker must have network access to the vulnerable Product Show Room 1.0 instance
  • configThe application must be configured to allow user creation via the /psrs/classes/Users.php?f=save endpoint
  • authNo authentication is required to submit the malicious payload (the PoC uses a valid session cookie but the write-up does not state authentication is a barrier)

Reproduction

1. Configure a web proxy (e.g., Burp Suite) in your browser. 2. Navigate to `http://localhost/psrs/classes/Users.php?f=save` and fill in the user creation form. 3. Intercept the POST request and modify the "First Name" parameter to `">

Generated on May 24, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

1

News mentions

0

No linked articles in our index yet.