Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Users.php save endpoint remotely
-
ExploitUpload malicious PHP via img parameter
-
ExecutionRequest uploaded webshell file
-
ImpactExecute arbitrary code, full server compromise
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 | Requires network reachability to the application's /classes/Users.php?f=save endpoint and that the save_users handler accept the 'img' parameter without enforcing file-type, extension, or content validation, plus the ability to subsequently request files from the upload directory where PHP execution is permitted. The input vector marks this PR:N (unauthenticated); however, save_users is typically an administrative user-management action, so whether it is genuinely reachable pre-authentication in a default install is not confirmed from the provided data and should be verified - if a session/admin role is actually required, realistic risk drops substantially. No user interaction is needed (UI:N), and version 1.0 is the stated affected build. |
| Impact | The input CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N) scores 6.9 (medium) and describes a remote, unauthenticated, low-complexity attack against an exposed PHP endpoint - attributes that normally raise priority. However, the same vector rates impact as only Low across confidentiality, integrity and availability (VC:L/VI:L/VA:L), which directly conflicts with the vulnerability class: CWE-434 unrestricted file upload in a PHP application typically permits uploading an executable webshell, yielding full remote code execution - an outcome the linked exploit reference explicitly markets as 'preauth-rce'. This impact rating should be treated as understated; verify against the actual upload handler. On the exploitation side, the only threat signal present is E:P (Proof-of-Concept) in the 4.0 vector, corroborated by a publicly available exploit; there is NO CISA KEV listing and NO EPSS score in the provided data, so there is no evidence of active or widespread exploitation. A full SSVC decision cannot be computed - exploitation status is at most 'PoC', automatable is unknown, and technical impact is disputed. Net assessment: this is a technically serious flaw (likely RCE) with a public exploit, but its REAL-WORLD priority is low because the affected product is an obscure, tiny-footprint tutorial application rather than widely deployed enterprise software. Treat as patch-if-present rather than emergency. |
| Exploit ScenarioDerived | A remote attacker sends a crafted multipart HTTP POST to /classes/Users.php?f=save, supplying a malicious PHP file in the 'img' parameter that the save_users function stores without validating file type or extension. The attacker then requests the uploaded file directly to execute it as a webshell, gaining command execution on the server. A public exploit is already available (referenced as a pre-auth RCE release), lowering the skill required to reproduce the attack. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Unrestricted file upload in SourceCodester E-Learning System 1.0 lets remote attackers write arbitrary files, including executable PHP scripts, onto the server by manipulating the img argument in the save_users handler at /classes/Users.php?f=save. Successful exploitation depends on the endpoint being reachable and on the handler accepting the upload without file-type, extension, or content validation, followed by retrieving the uploaded file from a directory where PHP execution is permitted. Publicly available exploit code exists (referenced at tracexlabs.com as an 'elearning-preauth-rce' release) and the VulDB-sourced input warns it might be used; the CVSS 4.0 vector scores 6.9 with PR:N and UI:N, though our assessment notes that save_users is normally an administrative user-management action, so genuine pre-authentication reachability in a default install is not confirmed from the available data and should be verified.
RemediationAI
No vendor-released patch was identified at time of analysis, so operators running E-Learning System 1.0 must rely on compensating controls. First, restrict access to /classes/Users.php so that only authenticated administrative sessions can reach the save operation - if save_users is in fact an admin-only action, enforcing session and role checks closes the pre-auth path the exploit release advertises; the trade-off is that any existing unauthenticated integration relying on that script will break. Second, add strict server-side validation on the img parameter: allowlist image extensions and MIME types, re-encode uploaded images, randomize stored filenames, and reject anything containing PHP tags - this requires code changes that upstream updates may overwrite. Third, store uploads outside the document root and disable script execution in the upload directory (for example via Apache's php_admin_flag engine off or an equivalent handler directive, or Nginx location blocks returning 403 for .php files under the uploads path); this neutralizes dropped web shells but can interfere with legitimate dynamically generated media. Finally, block or alert on direct requests to PHP files beneath upload paths at the WAF/reverse-proxy layer and monitor for POSTs to /classes/Users.php?f=save with multipart bodies containing executable content. Where the application is internet-facing and these controls cannot be applied, consider taking the instance offline until a maintained alternative or patch from the vendor at https://www.sourcecodester.com/ is available. Consult https://vuldb.com/vuln/416793 and https://tracexlabs.com/releases/elearning-preauth-rce.html for the technical details needed to validate exposure.
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 flaw is a classic unrestricted upload of a file with a dangerous type (CWE-434) in a PHP web application. SourceCodester E-Learning System is a PHP/MySQL training-management script distributed as downloadable source; the vulnerable code path is the save_users function in /classes/Users.php, which handles the user-record save operation and processes the 'img' field as an uploaded image without validating extension, MIME type, or content. Because uploaded files are served from a web-accessible location, an attacker who can reach that path can deposit a .php payload and request it, converting the upload primitive into remote code execution under the web server account. The CPE cpe:2.3:a:sourcecodester:e-learning_system:*:*:*:*:*:*:*:* indicates the identifier is scoped to the E-Learning System application without a fixed version constraint, and the reported affected build is 1.0. No authentication or session prerequisite is encoded in the input vector (PR:N, UI:N, AV:N, AC:L), but the semantic role of save_users as a user-administration action means the effective auth requirement is the key open question for triage.
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:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Unrestricted PHP file upload realistically yields webshell RCE, so C/I/A:H; network, low-complexity, no UI per description, and PR:N following the input vector though the admin-style endpoint leaves auth uncertain.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was identified in SourceCodester E-Learning System 1.0. This affects the function save_users of the file /classes/Users.php?f=save. Such manipulation of the argument img leads to unrestricted upload. The attack can be launched remotely. The exploit is publicly available and might be used.
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-98314
GHSA-qrhm-2q68-9c48
NVD
CVE.org
EPSS
VulDB
Exploit-DB