/

CVE-2026-105920

Severity:

HIGH RISK

(7.3)

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

CVE-2026-105920

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Unauthorized database access or manipulation

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

A SQL injection vulnerability affects the Student Registration Endpoint in Kusalkasilva Learning-Management-System, where input handled by student_signup.php may be incorporated into database operations unsafely. A remote attacker who can reach the endpoint could potentially read, alter, or interfere with application data, depending on database permissions and query behavior.

A SQL injection vulnerability affects the Student Registration Endpoint in Kusalkasilva Learning-Management-System, where input handled by student_signup.php may be incorporated into database operations unsafely. A remote attacker who can reach the endpoint could potentially read, alter, or interfere with application data, depending on database permissions and query behavior.

Affected context

The issue occurs in deployments of Kusalkasilva Learning-Management-System using the affected Student Registration Endpoint and the student_signup.php implementation. Risk is present when externally supplied registration data reaches SQL query construction without adequate parameterization or equivalent separation between data and executable query syntax.

The issue occurs in deployments of Kusalkasilva Learning-Management-System using the affected Student Registration Endpoint and the student_signup.php implementation. Risk is present when externally supplied registration data reaches SQL query construction without adequate parameterization or equivalent separation between data and executable query syntax.

Exploit preconditions

  • Attack surface: The remotely reachable Student Registration Endpoint
  • Required access: Ability to submit requests to the student registration functionality; authentication may not be required depending on deployment configuration
  • Trigger point: Processing of attacker-controlled registration input by student_signup.php
  • Why exploitation is possible: Input may influence SQL statements when query construction does not reliably separate user data from database commands
  • Attack surface: The remotely reachable Student Registration Endpoint
  • Required access: Ability to submit requests to the student registration functionality; authentication may not be required depending on deployment configuration
  • Trigger point: Processing of attacker-controlled registration input by student_signup.php
  • Why exploitation is possible: Input may influence SQL statements when query construction does not reliably separate user data from database commands

Why this happens

The underlying bug is an SQL injection condition, mapped primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command. The application appears to process externally controlled registration values in a way that can alter the intended structure or behavior of database queries. CWE-74 is also relevant as a broader improper-neutralization classification, while parameterized queries and strict input handling provide the necessary separation between data and executable SQL syntax.

The underlying bug is an SQL injection condition, mapped primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command. The application appears to process externally controlled registration values in a way that can alter the intended structure or behavior of database queries. CWE-74 is also relevant as a broader improper-neutralization classification, while parameterized queries and strict input handling provide the necessary separation between data and executable SQL syntax.

Potential impact

  • An attacker may retrieve data that the application database account can access
  • An attacker could modify or delete records within the account's permissions
  • An attacker may bypass intended application logic or registration controls
  • The vulnerability could expose sensitive student or administrative information
  • Database availability or integrity could be affected
  • An attacker may retrieve data that the application database account can access
  • An attacker could modify or delete records within the account's permissions
  • An attacker may bypass intended application logic or registration controls
  • The vulnerability could expose sensitive student or administrative information
  • Database availability or integrity could be affected

General mitigation guidance

Mitigation generally focuses on ensuring that all database operations treat external input strictly as data.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for every user-influenced database operation
  • Avoiding string concatenation or interpolation when building SQL statements
  • Applying allowlisted validation appropriate to each registration field
  • Limiting database account permissions to only the operations and tables required by the application
  • Returning generic database errors instead of query details to clients
  • Enforcing consistent data-access-layer safeguards across all endpoints
  • Protecting registration endpoints with appropriate authentication, authorization, rate limiting, and monitoring controls where applicable

Mitigation generally focuses on ensuring that all database operations treat external input strictly as data.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for every user-influenced database operation
  • Avoiding string concatenation or interpolation when building SQL statements
  • Applying allowlisted validation appropriate to each registration field
  • Limiting database account permissions to only the operations and tables required by the application
  • Returning generic database errors instead of query details to clients
  • Enforcing consistent data-access-layer safeguards across all endpoints
  • Protecting registration endpoints with appropriate authentication, authorization, rate limiting, and monitoring controls where applicable

How teams detect issues like this

Detection approaches commonly include:

  • Static analysis rules that identify SQL statements assembled through string concatenation or interpolation
  • Code review checks for direct use of request parameters in database APIs
  • Dynamic testing of registration inputs using controlled, non-destructive SQL injection test cases
  • Database activity monitoring for anomalous queries, unexpected errors, and unusual access patterns
  • Policy enforcement requiring prepared statements or approved data-access abstractions
  • Automated security review tools that flag unsafe query construction and missing input validation

Detection approaches commonly include:

  • Static analysis rules that identify SQL statements assembled through string concatenation or interpolation
  • Code review checks for direct use of request parameters in database APIs
  • Dynamic testing of registration inputs using controlled, non-destructive SQL injection test cases
  • Database activity monitoring for anomalous queries, unexpected errors, and unusual access patterns
  • Policy enforcement requiring prepared statements or approved data-access abstractions
  • Automated security review tools that flag unsafe query construction and missing input validation

Sources

SourceLink
github.comgithub.com/KusalkaSilva/Learning-Management-System/
github.comgithub.com/KusalkaSilva/Learning-Management-System/issues/3
vuldb.comvuldb.com/cve/CVE-2026-105920
vuldb.comvuldb.com/submit/992656
vuldb.comvuldb.com/vuln/413894
vuldb.comvuldb.com/vuln/413894/cti

Frequently asked

questions

Yes. The reported attack surface is the remotely accessible Student Registration Endpoint, although effective exploitability depends on deployment exposure and request-processing behavior.

Not necessarily. The key requirement is the ability to submit input to the affected endpoint; whether registration is publicly accessible or protected depends on the deployment.

Use parameterized queries or prepared statements throughout the affected data-access path, supplemented by context-appropriate input validation and restricted database privileges.

Standardize secure database-access abstractions, prohibit ad hoc SQL construction in code review and CI policies, use least-privilege database accounts, and monitor endpoint and database activity for anomalous behavior.

Yes. The reported attack surface is the remotely accessible Student Registration Endpoint, although effective exploitability depends on deployment exposure and request-processing behavior.

Not necessarily. The key requirement is the ability to submit input to the affected endpoint; whether registration is publicly accessible or protected depends on the deployment.

Use parameterized queries or prepared statements throughout the affected data-access path, supplemented by context-appropriate input validation and restricted database privileges.

Standardize secure database-access abstractions, prohibit ad hoc SQL construction in code review and CI policies, use least-privilege database accounts, and monitor endpoint and database activity for anomalous behavior.

Find out what's already
exploitable in your codebase.