CVE-2024-51223
Stored XSS in Phpgurukul Vehicle System /admin/profile.php
Publication date: 2026-03-23
Last updated on: 2026-03-24
Assigner: MITRE
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| phpgurukul | vehicle_record_management_system | 1.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2024-51223 is a stored cross-site scripting (XSS) vulnerability in the admin profile page (/admin/profile.php) of the Phpgurukul Vehicle Record Management System v1.0.
The vulnerability occurs because the Mobile Number parameter accepts user input without any sanitization, type validation, or output encoding. This allows an attacker to inject malicious scripts into the mobile field.
The injected script is stored persistently in the database and executes every time the profile page is loaded, affecting all users who view it.
Technically, the vulnerable variable is assigned directly from user POST data without validation, and the input is rendered without encoding, making arbitrary JavaScript execution possible.
How can this vulnerability impact me? :
This vulnerability can have several serious impacts:
- Persistent session hijacking through theft of cookies.
- Privilege escalation by executing admin-level actions via injected JavaScript.
- Information disclosure by exfiltrating sensitive data from the admin dashboard.
- Phishing attacks or redirection of users to attacker-controlled websites.
- Denial of Service by breaking or degrading the user interface with persistent scripts.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
[{'type': 'paragraph', 'content': 'This vulnerability can be detected by testing the /admin/profile.php page of the Phpgurukul Vehicle Record Management System v1.0 for stored XSS in the Mobile Number parameter.'}, {'type': 'paragraph', 'content': 'A practical detection method is to log into the admin panel, navigate to the profile page, and input a crafted payload such as "><script>alert(\'CVE-2024-51223\')</script> into the Mobile Number field. If the script executes upon saving and reloading the page, the vulnerability is present.'}, {'type': 'paragraph', 'content': 'For automated or command-line testing, you can use tools like curl or Burp Suite to send POST requests with the malicious payload to the /admin/profile.php endpoint and observe if the payload is stored and executed.'}, {'type': 'list_item', 'content': 'Example curl command to test injection:'}, {'type': 'list_item', 'content': 'curl -X POST -d "mobile=\\"><script>alert(\'CVE-2024-51223\')</script>" https://targetsite/admin/profile.php --cookie "admin_session=your_session_cookie"'}, {'type': 'paragraph', 'content': 'After sending the payload, reload the profile page in a browser with the admin session to check if the alert pops up, confirming stored XSS.'}] [1]
What immediate steps should I take to mitigate this vulnerability?
[{'type': 'paragraph', 'content': 'Immediate mitigation steps include enforcing strict input validation and output encoding on the Mobile Number parameter in /admin/profile.php.'}, {'type': 'list_item', 'content': "Implement server-side validation using a regex pattern to allow only numeric characters, plus signs, hyphens, and spaces, for example: preg_match('/^[0-9+\\-\\s]{7,15}$/', $_POST['mobile'])."}, {'type': 'list_item', 'content': "Apply output encoding with htmlspecialchars($mobile, ENT_QUOTES, 'UTF-8') before rendering the mobile number on the profile page to prevent script execution."}, {'type': 'list_item', 'content': 'Add client-side input restrictions such as setting the input type to "tel" or using a pattern attribute to limit input to numbers.'}, {'type': 'list_item', 'content': 'Consider implementing a Content Security Policy (CSP) to restrict the execution of unauthorized scripts.'}, {'type': 'list_item', 'content': 'Enforce server-side input length restrictions consistent with database constraints to prevent overly long inputs.'}] [1]