Skip to main content

KusalkaSilva LMS CVE-2026-108922

| EUVDEUVD-2026-97780 LOW
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-10-12 VulDB GHSA-4869-84qq-jcp5
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege app account
  2. Delivery
    Craft file with image header + PHP payload
  3. Exploit
    Bypass getimagesize check in upload_save.php
  4. Execution
    Store file in web-accessible path
  5. Persist
    Request file to execute webshell
  6. Impact
    Command execution on server

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 an authenticated account (CVSS PR:L) with access to the file-upload workflow handled by upload_save.php, and the attacker must defeat the getimagesize()-based content check by prepending a valid image header/magic bytes to a malicious file supplied in the uploaded_file/image argument. Realistic impact (code execution versus mere file storage) is LIMITED by whether the upload target directory is web-accessible and configured to execute PHP; if uploads are stored outside the web root or served non-executably, impact stays close to the vendor's low rating. Further limiting factors: valid credentials are needed (no unauthenticated path), and the product itself is a niche project with negligible deployment.

Impact

Multiple signals point to a LOW real-world priority. The vendor-supplied CVSS 4.0 score is only 2.1, with the vector CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N and notably LOW vulnerable-system impacts (VC:L/VI:L/VA:L) - VulDB rated the direct consequence of the upload conservatively rather than as full code execution. PR:L confirms authentication is required, which meaningfully limits the attacker population. The 'E:P' (Proof-of-Concept) exploit-maturity metric aligns with the input signal that publicly available exploit code exists (a GitHub issue), but there is NO CISA KEV listing and NO EPSS score provided, so there is no evidence of active or widespread exploitation - this is POC availability, not in-the-wild use. CONFLICT TO NOTE: the weakness class (CWE-434 unrestricted file upload) combined with a getimagesize()-based validation bypass in a PHP application typically enables webshell upload and remote code execution, which would justify HIGH impact - yet the vendor scored impacts only LOW. This discrepancy should be verified against the actual exploit; if the upload directory is web-accessible and executes PHP, real impact is materially higher than the 2.1 score implies. Offsetting all of this, the affected product is an obscure hobby/student project on a rolling release with no responding maintainer, so the practical attack surface across real environments is minimal.

Exploit ScenarioDerived

An attacker who holds a low-privilege account on an exposed KusalkaSilva Learning-Management-System instance crafts a malicious file (e.g., a PHP webshell) carrying a valid image header so it passes the getimagesize() check in upload_save.php, then submits it via the uploaded_file/image parameter. If the upload destination is web-reachable and executes PHP, requesting the uploaded file yields remote code execution. A public proof-of-concept exists (published via the project's GitHub issue tracker), lowering the skill barrier.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.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 12, 2026

Authenticated file upload in KusalkaSilva LMS (rolling release commit ffeb873f) allows an attacker with a valid account to bypass the getimagesize() content check and upload arbitrary files via the uploaded_file/image argument to upload_save.php. Publicly available exploit code exists, and while the flaw is rated CVSS 2.1 by the vendor, successful exploitation could lead to remote code execution only if the upload directory is web-accessible and configured to execute PHP; otherwise impact is limited to storing malicious files. The project has not responded to the issue report, and no fixed version is available, but real-world risk is low given the niche deployment and required authentication.

RemediationAI

No vendor-released patch was identified at the time of analysis, and the project has not responded to the issue report; because it is a rolling release, no fixed version number is available. Until a fix is provided, restrict access to the file-upload functionality to trusted, authenticated users and implement server-side validation that re-encodes uploaded images (e.g., using GD or Imagick) to strip potentially malicious payloads, accepting the trade-off of additional processing overhead and possible image-quality changes. Configure the web server to disallow execution of PHP or other scripts in the upload directory-for Apache, add 'php_admin_flag engine off' or use an .htaccess rule; for nginx, use a location block with 'location ~* \.(php|phtml|php5)$ { deny all; }'-with the caveat that this may break legitimate features if uploaded files are meant to be executed. Store uploads outside the web root and serve them via a controlled download script, which prevents direct access but requires application changes. Monitor upload directories for anomalous files and consider replacing the project with a maintained LMS if the issue remains unaddressed. Consult the GitHub issue and VulDB references for any updates.

Affected VersionsENISA

Learning-Management-System ffeb873f8803f1e9664384ff75000c7da45466d2

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a classic unrestricted file upload (CWE-434) in the PHP-based KusalkaSilva Learning-Management-System. The upload_save.php script uses getimagesize() to validate that an uploaded file is an image, but this check only inspects the file header for image magic bytes. An authenticated attacker can prepend a valid image header to a malicious payload (e.g., a PHP webshell) supplied via the uploaded_file/image parameter, causing getimagesize() to return a valid image type while the file still contains executable code. The CPE cpe:2.3:a:kusalkasilva:learning-management-system:*:*:*:*:*:*:*:* indicates all versions are potentially affected, but the project uses a rolling release model with no discrete version numbers; the vulnerable commit is up to ffeb873f8803f1e9664384ff75000c7da45466d2. Root cause is insufficient validation of file content and type, allowing attacker-controlled files to be stored on the server.

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 8.8 HIGH

Authenticated upload (PR:L) over the network with low complexity; unrestricted PHP file upload realistically yields code execution, so C/I/A:H - higher than the vendor's low impact rating.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/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:N/SI:N/SA:N

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

3
Severity Changed
Oct 12, 2026 - 19:22 NVD
MEDIUM LOW
CVSS changed
Oct 12, 2026 - 19:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Oct 12, 2026 - 19:00 cve.org
LOW 2.1

DescriptionCVE.org

A flaw has been found in KusalkaSilva Learning-Management-System up to ffeb873f8803f1e9664384ff75000c7da45466d2. Affected is the function getimagesize of the file upload_save.php. Executing a manipulation of the argument uploaded_file/image can lead to unrestricted upload. The attack may be launched remotely. The exploit has been published and may be used. This product operates on a rolling release basis, ensuring continuous delivery. Consequently, there are no version details for either affected or updated releases. The project was informed of the problem early through an issue report but has not responded yet.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Rare
obscure single-developer GitHub LMS project, no enterprise deployment 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 LOW
CISA KEV No
Public POC Yes
EPSS 0.3%
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· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

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