Skip to main content

SourceCodester E-Learning System EUVDEUVD-2026-98314

| CVE-2026-108974 MEDIUM
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-10-13 VulDB GHSA-qrhm-2q68-9c48
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach Users.php save endpoint remotely
  2. Exploit
    Upload malicious PHP via img parameter
  3. Execution
    Request uploaded webshell file
  4. Impact
    Execute 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

E-Learning System 1.0

Affected Packages

euvd e_learning_system no fix

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

Vendor (VulDB) PRIMARY 5.5 MEDIUM
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
vuln.today AI 9.8 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Oct 13, 2026 - 07:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Oct 13, 2026 - 06:30 cve.org
MEDIUM 6.9

DescriptionCVE.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

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Rare
free SourceCodester PHP tutorial app, negligible production footprint
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

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

CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy