Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege account
-
ExploitSubmit crafted school_year parameter to search_class.php
-
ExecutionBackend executes injected SQL
-
ImpactRead or modify database records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, 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 low-privileged account (CVSS PR:L) with access to the class-search functionality that reaches search_class.php; the attacker then manipulates the school_year request argument to inject SQL. No special non-default configuration or user interaction is required (UI:N, AC:L), and the attack is remotely launchable over the network (AV:N). The primary limiting factor is the authentication requirement - anonymous/unauthenticated users cannot reach the vulnerable parameter - which meaningfully constrains exposure compared to a pre-auth flaw. Because the product is rolling-release with no version identifiers, defenders cannot pin exploitation to a specific patch level. |
| Impact | This is a CWE-89 SQL injection in the KusalkaSilva Learning-Management-System via the school_year parameter in search_class.php. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L) scores 5.3 (Medium) and signals network-reachable, low-complexity exploitation that nonetheless requires low-level privileges (PR:L), i.e. an authenticated account - so this is not an unauthenticated internet-facing flaw. Publicly available exploit code exists (VulDB), which raises practical risk, but there is no CISA KEV listing and no EPSS score was provided, so there is no evidence of active or widespread exploitation; POC availability is a distinct signal from in-the-wild use and should not be conflated. The E:P (Proof-of-Concept) exploit-maturity value in the vendor vector is consistent with the POC-only status. The impact metrics are all rated Low (VC:L/VI:L/VA:L), suggesting partial rather than full database compromise, which is unusual for SQLi and may understate real impact - a classic SQLi can often be escalated to full data disclosure, so verify the actual query context with the vendor. Net assessment: a real but moderate-priority issue, gated by authentication and affecting an obscure hobby/open-source product with no vendor response yet, rather than a high-urgency widespread threat. |
| Exploit ScenarioDerived | An attacker who holds a low-privileged application account logs in and submits a crafted value in the school_year argument to search_class.php, injecting SQL that the backend executes against the database. Because a public proof-of-concept exists (linked from the project's GitHub issue tracker), a relatively unskilled attacker could reproduce the injection to read or tamper with database records. The low attack complexity makes reliable exploitation straightforward once authenticated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
SQL injection in the school_year parameter handled by search_class.php allows an authenticated low-privileged user to alter database queries in the KusalkaSilva Learning-Management-System, a PHP-based application distributed on a rolling-release basis with no version identifiers. Publicly available exploit code exists, and the vendor has not responded to the issue report filed against the project repository, so no fixed release can be confirmed. Because exploitation requires a valid low-privileged session with access to the class-search functionality (CVSS 4.0 vector PR:L, UI:N, AV:N), anonymous attackers cannot reach the vulnerable parameter, which limits exposure; the assessed impact is low confidentiality, integrity, and availability loss.
RemediationAI
No vendor-released patch was identified at time of analysis: the issue report at https://github.com/KusalkaSilva/Learning-Management-System/issues/4 has gone unanswered, and the rolling-release model means there is no fixed version number to upgrade to. The definitive fix is code-level - rewrite the query in search_class.php to use parameterized/prepared statements (PDO or mysqli bind parameters) for school_year, or strictly allowlist the accepted school_year values before use; since this is a third-party repository, organizations should apply this change themselves or fork and maintain it, accepting the ongoing maintenance burden. Until that code change is deployed, the most effective compensating control is to restrict the class-search endpoint to trusted roles and require strong authentication, which reduces the population of accounts that can reach the injectable parameter but does not remove the flaw for legitimate low-privileged users. A web application firewall rule or input filter that blocks SQL metacharacters and UNION/boolean patterns on the school_year parameter adds a detection and blocking layer, though it can be bypassed with encoding tricks and may generate false positives on legitimate search values. Additional hardening includes running the application's database account with least privilege (no stacked queries, no file or schema privileges) to cap the blast radius of any successful injection, disabling verbose database error output so error-based injection feedback is not returned to the client, and enabling query logging to detect anomalous school_year payloads. Monitor https://vuldb.com/vuln/413895 and the GitHub repository for a vendor fix and re-evaluate the exposure of any internet-facing instance in the meantime.
Affected VersionsENISA
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 flaw is a classic CWE-89 SQL injection in a PHP web application. The search_class.php script builds a database query using the user-supplied school_year request argument without adequate sanitization or parameterization, so injected SQL fragments are interpreted by the backend database rather than treated as data. The published CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L, E:P) and the independent CVSS 3.1 reassessment (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L) agree on a network-reachable, low-complexity attack that requires an authenticated low-privileged account, no user interaction, and no non-default configuration, producing limited confidentiality, integrity, and availability impact. The CPE record cpe:2.3:a:kusalkasilva:learning-management-system:*:*:*:*:*:*:*:* uses a wildcard version because the project follows continuous, rolling-release delivery: there is no tagged version to which affected or fixed code can be pinned, so defenders cannot map exposure to a specific build. Tags identify the target stack as PHP with a Learning Management System context. Unlike a pre-authentication SQLi, the authentication gate means an attacker must first obtain a valid student or staff-level session, after which the school_year parameter in the class-search endpoint becomes the injection point.
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
Network-reachable SQLi with low complexity but requiring a low-privileged authenticated account (PR:L); partial confidentiality, integrity, and availability impact consistent with the vendor's Low impact ratings.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was identified in Kusalkasilva Learning-Management-System up to ffeb873f8803f1e9664384ff75000c7da45466d2. This affects an unknown function of the file search_class.php. Such manipulation of the argument school_year leads to sql injection. The attack may be launched remotely. The exploit is publicly available and might 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
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
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-93423
GHSA-hh4h-7c8g-rf7p
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB