CVE-2026-14776: Unrestricted File Upload in SourceCodester Online Learning Management System 1.0
SourceCodester's Online Examination & Learning Management System version 1.0 contains a file upload vulnerability that allows authenticated users to upload files with unrestricted extensions. An attacker with login credentials can bypass filename validation in the upload_files.php script to upload potentially dangerous file types, including executable code. Public exploit code is available, increasing the practical risk of active exploitation.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
- Weaknesses (CWE)
- CWE-284, CWE-434
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-05 / 2026-07-06
NVD description (verbatim)
A security flaw has been discovered in SourceCodester Onlne Examination & Learning Management System 1.0. Affected by this vulnerability is the function pathinfo of the file /upload_files.php of the component Filename Extension. Performing a manipulation results in unrestricted upload. Remote exploitation of the attack is possible. The exploit has been released to the public and may be used for attacks. The name of the affected product appears to have a typo in it.
6 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in the filename extension validation logic of /upload_files.php. The pathinfo function is manipulated to strip or spoof file extension checks, allowing bypass of upload restrictions. This is a classic CWE-434 (Unrestricted Upload of File with Dangerous Type) compounded by inadequate access controls (CWE-284). The flaw requires authentication but no additional user interaction. Successful exploitation enables arbitrary file upload, potentially leading to remote code execution depending on server configuration and the location where uploaded files are stored.
Business impact
Organizations deploying this LMS for student assessments face data confidentiality and integrity risks. An authenticated user—such as a disgruntled student or compromised instructor account—can upload webshells or malware to the server. If the web server executes uploaded files or serves them without proper MIME-type enforcement, attackers gain code execution, enabling data theft, system compromise, or use of the server for further lateral movement into institutional networks.
Affected systems
SourceCodester Online Examination & Learning Management System version 1.0 is confirmed vulnerable. Note that the product name in the CVE record contains a typo ('Onlne' instead of 'Online'). The CVE does not specify whether later versions have patched this issue; verification against SourceCodester's security advisories is essential.
Exploitability
This vulnerability scores CVSS 6.3 (Medium) under CVSS v3.1. Exploitation requires valid login credentials, making it a privilege escalation or insider-threat vector rather than a zero-authentication attack. However, the availability of public exploit code substantially lowers the barrier to weaponization. Any user with valid system access—including those with weak or compromised credentials—can trigger the flaw with trivial effort.
Remediation
Primary remediation is to upgrade to a patched version of the LMS; verify the specific patched release with SourceCodester's official security advisories. Interim controls include: (1) strict whitelist validation of uploaded file extensions and MIME types on the server side; (2) storage of uploads outside the web root or in a directory with disabled script execution; (3) implementation of file content scanning; (4) restriction of upload functionality to minimal user roles; (5) review and strengthen access controls for LMS accounts, particularly instructor and admin roles.
Patch guidance
Consult SourceCodester's official security updates and release notes to identify the patched version number and deployment steps. Given the public availability of exploits, patching should be prioritized in your change schedule. Test the patch in a staging environment before production deployment, particularly if you have customized the upload or file handling logic.
Detection guidance
Monitor web server and application logs for suspicious upload attempts to /upload_files.php, particularly: (1) requests with unusual or manipulated filename parameters; (2) uploads of executable file types (.php, .asp, .jsp, .exe, .sh); (3) uploads with null-byte sequences or double extensions; (4) multiple failed or successful uploads from a single user in short timeframes. Deploy file integrity monitoring on the upload directory. Review access logs for unauthorized script execution or web requests to newly uploaded files.
Why prioritize this
Although rated Medium severity due to the authentication requirement, the combination of public exploit availability, easy exploitability (AC:L), and the confidentiality/integrity impact warrants prompt attention. Educational institutions relying on this LMS for sensitive assessments should treat this as higher priority, especially if instructor or student accounts are at risk of compromise. Organizations with zero-trust or privileged-access-management policies may rate this lower if upload accounts are tightly controlled.
Risk score, explained
The CVSS 6.3 score reflects: (1) network-accessible attack vector; (2) low attack complexity (no special conditions required once authenticated); (3) requirement for low-privilege user interaction (valid login); (4) low confidentiality, integrity, and availability impact in isolation. The score does not account for context-dependent risks such as the file upload location, server execution environment, or compensating controls. Organizations with strong access controls may see lower practical risk; those with weak credential hygiene face higher residual risk.
Frequently asked questions
Do I need to be an admin to exploit this vulnerability?
No. The CVSS vector shows PR:L, meaning low-privilege users can exploit it. Any authenticated user—student, instructor, or staff account—with upload permissions can attempt the attack. This makes it a critical insider-threat vector.
Is this vulnerability already in the Known Exploited Vulnerabilities (KEV) catalog?
No, it is not currently listed in CISA's KEV catalog. However, public exploit code is available, so it is actively exploitable. Assume active threat actors will test and attempt exploitation against unpatched instances.
What happens if an attacker uploads a PHP shell?
The outcome depends on your server configuration. If the upload directory is accessible via the web and the server executes PHP files in that location, the attacker gains remote code execution with the privileges of the web server process. If you store uploads outside the web root or in a directory with execution disabled, the risk is mitigated—though the attacker may still access sensitive files through directory traversal or other means.
Can I just disable the upload feature temporarily?
Yes, if your LMS workflow permits. Disabling or restricting /upload_files.php access to a specific IP range or requiring additional authentication is a valid short-term control while you plan a patch deployment. However, this may disrupt legitimate exam or assignment submission workflows; coordinate with stakeholders before implementing such changes.
This analysis is based on the CVE record published on 2026-07-05 and modified 2026-07-06. Product names, version numbers, and patched release information should be verified against the vendor's official security advisories. SEC.co does not endorse or distribute exploit code. Organizations should conduct their own risk assessment, accounting for their specific deployment, access controls, and business requirements. Testing of patches in non-production environments is strongly recommended before wider rollout. Source: NVD (public-domain), retrieved 2026-08-14. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10172MEDIUMBdtask Multi-Store Inventory 1.0 Unrestricted File Upload Vulnerability
- CVE-2026-10205MEDIUMUnrestricted File Upload in Metasoft MetaCRM 6.4.0 – Exploit Details & Remediation
- CVE-2026-10806MEDIUMUnrestricted File Upload in mjperpinosa stumasy
- CVE-2026-10807MEDIUMUnrestricted File Upload in mjperpinosa stumasy Profile Image Handler
- CVE-2026-11333MEDIUMUnrestricted File Upload in CollegeManagementSystem Dashboard
- CVE-2026-11621MEDIUMDcat-Admin Unrestricted File Upload Vulnerability (CVSS 4.7)
- CVE-2026-14698MEDIUMSourceCodester LMS File Upload Vulnerability – Patch & Detection Guide
- CVE-2026-14775MEDIUMAuthenticated File Upload Vulnerability in SourceCodester LMS 1.0