/

CVE-2026-111990

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Hospital Management System

CVE-2026-111990

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Unauthorized database access and 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 in the Appointment Cancellation Handler of kishan0725 Hospital Management System allows remotely supplied appointment identifiers to influence database queries.

An attacker who can reach the affected handler may be able to read, modify, or delete database records, depending on database permissions and application behavior. Public exploit information increases the likelihood of attempted attacks.

A SQL injection vulnerability in the Appointment Cancellation Handler of kishan0725 Hospital Management System allows remotely supplied appointment identifiers to influence database queries.

An attacker who can reach the affected handler may be able to read, modify, or delete database records, depending on database permissions and application behavior. Public exploit information increases the likelihood of attempted attacks.

Affected context

The weakness occurs in the admin-panel.php Appointment Cancellation Handler when the ID argument is passed to mysqli_query without sufficient separation between data and SQL syntax. Risk depends on the handler being remotely reachable, the input being controllable by an attacker, and the database account having meaningful permissions.

The weakness occurs in the admin-panel.php Appointment Cancellation Handler when the ID argument is passed to mysqli_query without sufficient separation between data and SQL syntax. Risk depends on the handler being remotely reachable, the input being controllable by an attacker, and the database account having meaningful permissions.

Exploit preconditions

  • Attack surface: The remotely accessible appointment cancellation functionality in admin-panel.php
  • Required access: Ability to send requests to the affected handler; authentication requirements depend on deployment configuration
  • Trigger point: Processing of the appointment ID argument
  • Why exploitation is possible: User-controlled input can influence a database query when it is not safely parameterized or otherwise constrained
  • Attack surface: The remotely accessible appointment cancellation functionality in admin-panel.php
  • Required access: Ability to send requests to the affected handler; authentication requirements depend on deployment configuration
  • Trigger point: Processing of the appointment ID argument
  • Why exploitation is possible: User-controlled input can influence a database query when it is not safely parameterized or otherwise constrained

Why this happens

The underlying issue is an unsafe construction or execution of a SQL query using attacker-controlled input. When application data is incorporated into SQL commands without parameter binding and appropriate validation, database syntax and user data can become indistinguishable.

This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). The associated CWE-74 reflects the broader class of injection vulnerabilities in which externally controlled data alters the intended interpretation of a command or query.

The underlying issue is an unsafe construction or execution of a SQL query using attacker-controlled input. When application data is incorporated into SQL commands without parameter binding and appropriate validation, database syntax and user data can become indistinguishable.

This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). The associated CWE-74 reflects the broader class of injection vulnerabilities in which externally controlled data alters the intended interpretation of a command or query.

Potential impact

  • An attacker may retrieve unauthorized patient, appointment, or administrative data
  • Database records could be modified or deleted
  • Application authentication or authorization data could be exposed or altered
  • The database service or application may experience disruption
  • Further compromise could occur if the database account has excessive privileges
  • An attacker may retrieve unauthorized patient, appointment, or administrative data
  • Database records could be modified or deleted
  • Application authentication or authorization data could be exposed or altered
  • The database service or application may experience disruption
  • Further compromise could occur if the database account has excessive privileges

General mitigation guidance

Mitigation generally centers on ensuring that external input is handled strictly as data rather than executable SQL.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for all database operations
  • Apply allowlist-based validation for identifiers and expected input formats
  • Avoid constructing SQL statements through string concatenation
  • Use a database account with only the permissions required by the application
  • Enforce authorization checks independently of client-supplied identifiers
  • Apply centralized error handling that does not disclose database details
  • Reduce exposure of administrative endpoints through appropriate access controls

Mitigation generally centers on ensuring that external input is handled strictly as data rather than executable SQL.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for all database operations
  • Apply allowlist-based validation for identifiers and expected input formats
  • Avoid constructing SQL statements through string concatenation
  • Use a database account with only the permissions required by the application
  • Enforce authorization checks independently of client-supplied identifiers
  • Apply centralized error handling that does not disclose database details
  • Reduce exposure of administrative endpoints through appropriate access controls

How teams detect issues like this

Organizations can identify similar issues through:

  • Static analysis rules for SQL string concatenation involving request parameters
  • Code review checks for direct use of $_GET, $_POST, route parameters, or equivalent values in query APIs
  • Runtime monitoring for anomalous database errors, query patterns, or repeated manipulation of identifier parameters
  • Dynamic application testing focused on injection behavior in administrative handlers
  • Policy enforcement requiring prepared statements and approved database-access abstractions
  • Automated security review tools that flag unsanitized input reaching database execution functions

Organizations can identify similar issues through:

  • Static analysis rules for SQL string concatenation involving request parameters
  • Code review checks for direct use of $_GET, $_POST, route parameters, or equivalent values in query APIs
  • Runtime monitoring for anomalous database errors, query patterns, or repeated manipulation of identifier parameters
  • Dynamic application testing focused on injection behavior in administrative handlers
  • Policy enforcement requiring prepared statements and approved database-access abstractions
  • Automated security review tools that flag unsanitized input reaching database execution functions

Sources

SourceLink
github.comgithub.com/kishan0725/Hospital-Management-System/issues/75
vuldb.comvuldb.com/cve/CVE-2026-111990
vuldb.comvuldb.com/submit/1007402
vuldb.comvuldb.com/vuln/421655
vuldb.comvuldb.com/vuln/421655/cti

Frequently asked

questions

Yes, the affected appointment cancellation handler is described as remotely reachable. Exploitability still depends on endpoint exposure, authentication, authorization, and deployment-specific controls.

Not necessarily. The required access depends on how the administrative panel is protected, but any reachable path that accepts attacker-controlled input should be treated as a risk.

Replace dynamic SQL construction with parameterized queries or prepared statements, then validate identifiers and enforce authorization on the requested appointment.

Standardize safe database-access libraries, prohibit query construction from concatenated request data, use least-privilege database accounts, and include static and dynamic security testing in the development process.

Yes, the affected appointment cancellation handler is described as remotely reachable. Exploitability still depends on endpoint exposure, authentication, authorization, and deployment-specific controls.

Not necessarily. The required access depends on how the administrative panel is protected, but any reachable path that accepts attacker-controlled input should be treated as a risk.

Replace dynamic SQL construction with parameterized queries or prepared statements, then validate identifiers and enforce authorization on the requested appointment.

Standardize safe database-access libraries, prohibit query construction from concatenated request data, use least-privilege database accounts, and include static and dynamic security testing in the development process.

Find out what's already
exploitable in your codebase.