Skip to main content

Online Exam LMS CVE-2026-14776

| EUVDEUVD-2026-41791 LOW
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-07-05 VulDB GHSA-6pv2-9j3w-5x6g
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Register or acquire low-privilege application account
  2. Delivery
    Authenticate to the target web application
  3. Exploit
    Craft PHP webshell with extension bypassing pathinfo() validation
  4. Execution
    POST malicious file to /upload_files.php
  5. Persist
    Navigate to uploaded webshell URL
  6. Impact
    Execute 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

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

Onlne Examination & Learning Management System 1.0

Affected Packages

euvd onlne_examination_learning_management_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 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

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

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

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
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

4
Severity Changed
Jul 05, 2026 - 23:22 NVD
MEDIUM LOW
CVSS changed
Jul 05, 2026 - 23:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
Severity Changed
Jul 05, 2026 - 23:22 NVD
MEDIUM LOW
CVSS changed
Jul 05, 2026 - 23:22 NVD
5.3 (MEDIUM) 2.1 (LOW)

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

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
free PHP demo code distributed to students, minimal production enterprise deployment
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
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