/

CVE-2026-109522

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Online-Appointment Admin CRUD

CVE-2026-109522

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Unauthorized database access and data 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 remotely exploitable SQL injection vulnerability affects the Admin CRUD endpoint in girishsaraf Online-Appointment-Booking-System. Manipulating the cid or did argument in Admin/deleteclinic.php may allow an attacker to alter database queries, potentially exposing or modifying application data.

A remotely exploitable SQL injection vulnerability affects the Admin CRUD endpoint in girishsaraf Online-Appointment-Booking-System. Manipulating the cid or did argument in Admin/deleteclinic.php may allow an attacker to alter database queries, potentially exposing or modifying application data.

Affected context

The vulnerability occurs in the administrative clinic deletion functionality when request parameters are incorporated into database queries without sufficient separation between SQL code and user-controlled values. Deployments that expose the Admin CRUD endpoint to remote clients, especially without strong authentication and authorization controls, may be at risk.

The vulnerability occurs in the administrative clinic deletion functionality when request parameters are incorporated into database queries without sufficient separation between SQL code and user-controlled values. Deployments that expose the Admin CRUD endpoint to remote clients, especially without strong authentication and authorization controls, may be at risk.

Exploit preconditions

  • Attack surface: The remotely accessible Admin CRUD endpoint
  • Required access: Ability to send requests to the affected administrative functionality; authentication requirements depend on deployment controls
  • Trigger point: Processing of the cid or did arguments by Admin/deleteclinic.php
  • Why exploitation is possible: User-controlled parameter data may influence SQL query structure rather than being treated strictly as a value
  • Attack surface: The remotely accessible Admin CRUD endpoint
  • Required access: Ability to send requests to the affected administrative functionality; authentication requirements depend on deployment controls
  • Trigger point: Processing of the cid or did arguments by Admin/deleteclinic.php
  • Why exploitation is possible: User-controlled parameter data may influence SQL query structure rather than being treated strictly as a value

Why this happens

The underlying issue is an insufficient separation between SQL statements and untrusted request parameters. If input is concatenated into database queries or otherwise reaches a query interpreter without parameter binding, crafted values can change the intended query logic. This maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection); CWE-74 broadly reflects the injection of control syntax into an interpreter.

The underlying issue is an insufficient separation between SQL statements and untrusted request parameters. If input is concatenated into database queries or otherwise reaches a query interpreter without parameter binding, crafted values can change the intended query logic. This maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection); CWE-74 broadly reflects the injection of control syntax into an interpreter.

Potential impact

  • An attacker may read unauthorized database records
  • Database contents could be modified or deleted
  • Administrative or application data may be exposed
  • The application could experience integrity loss or service disruption
  • Database privileges could increase the impact across connected components
  • An attacker may read unauthorized database records
  • Database contents could be modified or deleted
  • Administrative or application data may be exposed
  • The application could experience integrity loss or service disruption
  • Database privileges could increase the impact across connected components

General mitigation guidance

Mitigation generally focuses on ensuring that request data cannot become executable SQL syntax.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for all database operations
  • Apply allowlist validation for identifier and selector values such as clinic or doctor IDs
  • Avoid dynamically assembled SQL where a fixed query structure is sufficient
  • Enforce authentication and least-privilege authorization for administrative endpoints
  • Use database accounts with only the permissions required by the application
  • Treat validation as an additional control rather than a substitute for query parameterization

Mitigation generally focuses on ensuring that request data cannot become executable SQL syntax.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for all database operations
  • Apply allowlist validation for identifier and selector values such as clinic or doctor IDs
  • Avoid dynamically assembled SQL where a fixed query structure is sufficient
  • Enforce authentication and least-privilege authorization for administrative endpoints
  • Use database accounts with only the permissions required by the application
  • Treat validation as an additional control rather than a substitute for query parameterization

How teams detect issues like this

Organizations can identify similar weaknesses through:

  • Static analysis for string concatenation or interpolation in SQL execution calls
  • Code review of request handlers that pass parameters into database access layers
  • Dynamic testing with benign input variations and database error monitoring
  • Web application firewall or API policy rules covering unexpected query syntax in identifier fields
  • Logging and alerting on anomalous requests to administrative CRUD endpoints

Automated security scanning and code review tools may help identify unsafely constructed queries, but findings should be confirmed against the application's data-access behavior.

Organizations can identify similar weaknesses through:

  • Static analysis for string concatenation or interpolation in SQL execution calls
  • Code review of request handlers that pass parameters into database access layers
  • Dynamic testing with benign input variations and database error monitoring
  • Web application firewall or API policy rules covering unexpected query syntax in identifier fields
  • Logging and alerting on anomalous requests to administrative CRUD endpoints

Automated security scanning and code review tools may help identify unsafely constructed queries, but findings should be confirmed against the application's data-access behavior.

Sources

SourceLink
github.comgithub.com/girishsaraf/Online-Appointment-Booking-System/
github.comgithub.com/girishsaraf/Online-Appointment-Booking-System/issues/12
vuldb.comvuldb.com/cve/CVE-2026-109522
vuldb.comvuldb.com/submit/984340
vuldb.comvuldb.com/vuln/417186
vuldb.comvuldb.com/vuln/417186/cti

Frequently asked

questions

Yes. The vulnerability description indicates that the affected Admin CRUD endpoint can be reached remotely, although actual exploitability depends on network exposure and access controls.

Not necessarily. The key requirement is the ability to reach the affected endpoint and submit the relevant parameters; whether authentication is required depends on the deployment's configuration.

Use parameterized queries or prepared statements, validate identifier inputs with appropriate allowlists, and ensure the endpoint enforces authorization.

Centralize database access through safe query interfaces, apply least-privilege database permissions, review administrative handlers, and include SQL injection testing in development and CI security checks.

Yes. The vulnerability description indicates that the affected Admin CRUD endpoint can be reached remotely, although actual exploitability depends on network exposure and access controls.

Not necessarily. The key requirement is the ability to reach the affected endpoint and submit the relevant parameters; whether authentication is required depends on the deployment's configuration.

Use parameterized queries or prepared statements, validate identifier inputs with appropriate allowlists, and ensure the endpoint enforces authorization.

Centralize database access through safe query interfaces, apply least-privilege database permissions, review administrative handlers, and include SQL injection testing in development and CI security checks.

Find out what's already
exploitable in your codebase.