Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister or acquire low-privilege application account
-
DeliveryAuthenticate to the target web application
-
ExploitCraft PHP webshell with extension bypassing pathinfo() validation
-
ExecutionPOST malicious file to /upload_files.php
-
PersistNavigate to uploaded webshell URL
-
ImpactExecute arbitrary OS commands as web server user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated session with at minimum low-privilege access (PR:L per the CVSS 4.0 vector), such as a registered student, exam taker, or any account the application permits to self-register. The vulnerable endpoint (/upload_files.php) and its file upload feature must be reachable and operational - no non-default configuration is required to trigger the flaw, as the pathinfo() validation bypass is inherent to the default upload handler implementation. Exploitation is bounded by the need for prior authentication: unauthenticated access to the upload endpoint is not confirmed by available data, and the CVSS PR:L metric confirms at least a low-privilege account is required. The application must be deployed on a PHP-enabled web server reachable by the attacker (AV:N confirms network-level access suffices). No specific platform, OS, or feature flag beyond basic PHP operation is required. |
| Impact | The provided CVSS 4.0 score of 2.1 (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P) appears significantly understated and conflicts with the exploitation evidence. The network attack vector (AV:N), low complexity (AC:L), and lack of required attack prerequisites (AT:N) confirm this is remotely exploitable with minimal friction once a low-privilege account is obtained. However, the Low impact ratings across VC/VI/VA and the absence of any subsequent-system impact (SC:N/SI:N/SA:N) are inconsistent with CWE-434 in PHP - successful webshell upload in a PHP application realistically yields full server compromise, not low impact. The GitHub exploit is explicitly named 'OE-LMS-RCE-2-upload_files.md', directly asserting remote code execution capability. The E:P modifier confirms publicly available exploit code, which substantially elevates real-world risk beyond what the numeric score suggests. The vulnerability is not in the CISA KEV catalog, so active exploitation has not been formally confirmed, but the combination of a public RCE-labeled PoC and a trivially exploitable CWE-434 in an internet-deployable PHP application warrants treating this as materially higher risk than the 2.1 score indicates. The low footprint of SourceCodester applications in enterprise environments limits aggregate exposure. |
| Exploit ScenarioDerived | An attacker registers or acquires a low-privilege authenticated account on the target application (e.g., as a student or exam participant), then submits a crafted HTTP POST request to /upload_files.php containing a PHP webshell whose filename is constructed to evade the pathinfo()-based extension check - for example, by exploiting which pathinfo() component the validator evaluates. Once the file is stored on the server in a web-accessible directory, the attacker navigates to its URL to trigger execution, obtaining arbitrary OS command execution at the privilege level of the web server process. A public proof-of-concept documenting this exact remote code execution path is available at the GitHub reference linked in the VulDB advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 05, 2026
Unrestricted file upload in SourceCodester Onlne Examination & Learning Management System 1.0 (a PHP-based web application whose product name contains a documented typo - 'Onlne' rather than 'Online') permits remote low-privileged authenticated users to upload arbitrary files, including PHP webshells, via the /upload_files.php endpoint by exploiting inadequate extension validation in the pathinfo() function. Publicly available exploit code exists on GitHub, with the exploit document explicitly titled to reference remote code execution against this specific upload handler. No vendor-released patch has been identified, and the vulnerability is not listed in the CISA KEV catalog, though the public exploit materially lowers the barrier to exploitation.
RemediationAI
No vendor-released patch has been identified at time of analysis - SourceCodester does not issue formal security advisories or patched releases for its freely distributed code samples, making upstream remediation unlikely. The most direct mitigation is to disable or block access to /upload_files.php entirely if file upload functionality is non-essential, eliminating the attack surface with no side effects beyond loss of upload capability. If uploads are operationally required, replace the pathinfo()-based extension check with strict server-side MIME type inspection using PHP's finfo_file() function, enforce an explicit allowlist of safe extensions (e.g., .pdf, .png, .jpg only), rename all uploaded files server-side using a server-generated UUID to strip attacker-controlled extensions, and store uploaded files in a directory outside the web root or configured as non-executable by the web server. Deploying a Web Application Firewall rule to block multipart uploads of .php, .phtml, .phar, and similar executable extensions provides an additional compensating layer, though WAF bypass is possible against misconfigured handlers. Organizations running this application on internet-accessible infrastructure should assess whether replacement with a supported, actively maintained LMS is feasible. The VulDB advisory is at https://vuldb.com/vuln/376366 and the public exploit documentation is at https://github.com/nuiifornet/A033/blob/main/OE-LMS-RCE-2-upload_files.md.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected application is a PHP web application (CPE: cpe:2.3:a:sourcecodester:onlne_examination_&_learning_management_system:*:*:*:*:*:*:*:*) distributed freely by SourceCodester, a code-sharing platform targeting students and developers. The root cause is CWE-434 (Unrestricted Upload of File with Dangerous Type), arising from the misuse of PHP's pathinfo() function as the sole or primary mechanism for filename extension validation in /upload_files.php. The pathinfo() function returns components of a file path (dirname, basename, extension, filename) and is commonly misused when developers check only one component - for example, checking the extension of 'shell.php.jpg' may return '.jpg' depending on which pathinfo() key is evaluated, allowing an attacker to upload a valid PHP-executable file under a name that passes the check. In PHP environments, a successfully uploaded webshell immediately enables arbitrary server-side command execution at the privilege level of the web server process.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Low-privilege authentication required (PR:L); no special conditions needed (AC:L); webshell upload achieves full server compromise with scope change (S:C, C/I/A:H).
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
4DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-41791
GHSA-6pv2-9j3w-5x6g
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB