/

CVE-2026-105918

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Kusalkasilva LMS Login Endpoint

CVE-2026-105918

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Database Access and Authentication Bypass

Severity:

HIGH RISK

(7.3)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Kusalkasilva Learning-Management-System contains a SQL injection vulnerability in the login endpoint, where crafted username or password input may alter backend database queries.

Because the endpoint is remotely reachable, an attacker may exploit the issue without local access when the application passes untrusted input into SQL statements without adequate parameterization.

Kusalkasilva Learning-Management-System contains a SQL injection vulnerability in the login endpoint, where crafted username or password input may alter backend database queries.

Because the endpoint is remotely reachable, an attacker may exploit the issue without local access when the application passes untrusted input into SQL statements without adequate parameterization.

Affected context

The vulnerability occurs in the login.php login endpoint of Kusalkasilva Learning-Management-System, particularly when username or password values are incorporated into database operations. Deployments may be at risk when the endpoint is exposed remotely and request data reaches SQL construction or execution without effective parameterized query controls.

The vulnerability occurs in the login.php login endpoint of Kusalkasilva Learning-Management-System, particularly when username or password values are incorporated into database operations. Deployments may be at risk when the endpoint is exposed remotely and request data reaches SQL construction or execution without effective parameterized query controls.

Exploit preconditions

  • Attack surface: Remotely accessible login endpoint
  • Required access: Ability to send requests to the application; valid credentials are not necessarily required
  • Trigger point: Processing of username or password arguments by login.php
  • Why exploitation is possible: Untrusted input may influence SQL statements when query construction does not reliably separate data from executable SQL syntax
  • Attack surface: Remotely accessible login endpoint
  • Required access: Ability to send requests to the application; valid credentials are not necessarily required
  • Trigger point: Processing of username or password arguments by login.php
  • Why exploitation is possible: Untrusted input may influence SQL statements when query construction does not reliably separate data from executable SQL syntax

Why this happens

The underlying issue is an SQL injection condition in which externally supplied login values can affect the structure or meaning of a database query. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command, with CWE-74 describing the broader failure to neutralize special elements in an interpreted command. The insecure pattern is concatenating or otherwise embedding untrusted input into SQL rather than binding it as data through a parameterized interface.

The underlying issue is an SQL injection condition in which externally supplied login values can affect the structure or meaning of a database query. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command, with CWE-74 describing the broader failure to neutralize special elements in an interpreted command. The insecure pattern is concatenating or otherwise embedding untrusted input into SQL rather than binding it as data through a parameterized interface.

Potential impact

  • An attacker may bypass intended authentication checks
  • Sensitive database records could be disclosed
  • Database contents may be modified or deleted
  • Application integrity and availability could be affected
  • Compromised data could support further attacks against users or connected systems
  • An attacker may bypass intended authentication checks
  • Sensitive database records could be disclosed
  • Database contents may be modified or deleted
  • Application integrity and availability could be affected
  • Compromised data could support further attacks against users or connected systems

General mitigation guidance

Mitigation generally focuses on ensuring that all database operations treat user-controlled values strictly as data.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every SQL operation
  • Avoid dynamically concatenating username, password, or other request values into SQL
  • Apply allowlist validation for expected input formats as a secondary control
  • Use database accounts with only the permissions required by the login workflow
  • Return generic authentication errors without exposing database details
  • Centralize database access controls and review legacy query helpers for equivalent injection paths

Mitigation generally focuses on ensuring that all database operations treat user-controlled values strictly as data.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every SQL operation
  • Avoid dynamically concatenating username, password, or other request values into SQL
  • Apply allowlist validation for expected input formats as a secondary control
  • Use database accounts with only the permissions required by the login workflow
  • Return generic authentication errors without exposing database details
  • Centralize database access controls and review legacy query helpers for equivalent injection paths

How teams detect issues like this

Detection approaches may include:

  • Static analysis for string concatenation or interpolation used in SQL execution
  • Code review of login handlers, database wrappers, and error-processing paths
  • Dynamic application testing with safe injection test cases in non-production environments
  • Web application firewall or API policy rules that monitor suspicious database-oriented input patterns
  • Database monitoring for unusual authentication queries, errors, access volume, or schema activity
  • Automated security review tools that identify unsafe query construction patterns

Detection approaches may include:

  • Static analysis for string concatenation or interpolation used in SQL execution
  • Code review of login handlers, database wrappers, and error-processing paths
  • Dynamic application testing with safe injection test cases in non-production environments
  • Web application firewall or API policy rules that monitor suspicious database-oriented input patterns
  • Database monitoring for unusual authentication queries, errors, access volume, or schema activity
  • Automated security review tools that identify unsafe query construction patterns

Sources

SourceLink
github.comgithub.com/KusalkaSilva/Learning-Management-System/
github.comgithub.com/KusalkaSilva/Learning-Management-System/issues/1
vuldb.comvuldb.com/cve/CVE-2026-105918
vuldb.comvuldb.com/submit/992654
vuldb.comvuldb.com/vuln/413892
vuldb.comvuldb.com/vuln/413892/cti

Frequently asked

questions

Yes. The reported attack surface is the remotely accessible login endpoint, although effective exploitability depends on deployment exposure and how the application processes submitted values.

The login workflow is the target, so valid credentials may not be required. The attacker generally needs network access to the endpoint and the ability to submit username or password input.

Use parameterized queries or prepared statements throughout the login and database access paths, while applying least-privilege permissions to the database account.

Combine parameterized database APIs with code review, static analysis, input validation, generic error handling, and security testing of authentication endpoints.

Yes. The reported attack surface is the remotely accessible login endpoint, although effective exploitability depends on deployment exposure and how the application processes submitted values.

The login workflow is the target, so valid credentials may not be required. The attacker generally needs network access to the endpoint and the ability to submit username or password input.

Use parameterized queries or prepared statements throughout the login and database access paths, while applying least-privilege permissions to the database account.

Combine parameterized database APIs with code review, static analysis, input validation, generic error handling, and security testing of authentication endpoints.

Find out what's already
exploitable in your codebase.