/

CVE-2026-109523

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Online Booking AJAX Endpoint

CVE-2026-109523

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 SQL injection vulnerability in the Online-Appointment-Booking-System affects the AJAX endpoint associated with Admin/getclinic.php. A remote attacker may manipulate the city or cid parameter to influence database queries when input is not safely handled.

A SQL injection vulnerability in the Online-Appointment-Booking-System affects the AJAX endpoint associated with Admin/getclinic.php. A remote attacker may manipulate the city or cid parameter to influence database queries when input is not safely handled.

Affected context

The issue occurs in deployments of girishsaraf Online-Appointment-Booking-System through the identified rolling-release commit range. Risk is present when the Admin/getclinic.php AJAX endpoint is remotely reachable and the city or cid request parameters are incorporated into database operations without adequate parameterization or validation.

The issue occurs in deployments of girishsaraf Online-Appointment-Booking-System through the identified rolling-release commit range. Risk is present when the Admin/getclinic.php AJAX endpoint is remotely reachable and the city or cid request parameters are incorporated into database operations without adequate parameterization or validation.

Exploit preconditions

  • Attack surface: Remotely accessible AJAX endpoint
  • Required access: Network access to the affected application; authentication requirements may depend on deployment configuration
  • Trigger point: Processing of the city or cid parameters by Admin/getclinic.php
  • Why exploitation is possible: User-controlled values may influence SQL query construction instead of being treated strictly as data
  • Attack surface: Remotely accessible AJAX endpoint
  • Required access: Network access to the affected application; authentication requirements may depend on deployment configuration
  • Trigger point: Processing of the city or cid parameters by Admin/getclinic.php
  • Why exploitation is possible: User-controlled values may influence SQL query construction instead of being treated strictly as data

Why this happens

The underlying bug is an injection flaw in which externally supplied parameter values reach a database query context without reliable separation between data and SQL syntax. This maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection) and is also related to CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component. The insecure pattern is dynamically constructing or altering SQL statements with untrusted input.

The underlying bug is an injection flaw in which externally supplied parameter values reach a database query context without reliable separation between data and SQL syntax. This maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection) and is also related to CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component. The insecure pattern is dynamically constructing or altering SQL statements with untrusted input.

Potential impact

  • An attacker may read data that the application is authorized to access
  • An attacker could alter or delete database records
  • Authentication or authorization data may be exposed or manipulated
  • Application availability could be affected through destructive or resource-intensive queries
  • Sensitive information may be disclosed to an unauthorized remote party
  • An attacker may read data that the application is authorized to access
  • An attacker could alter or delete database records
  • Authentication or authorization data may be exposed or manipulated
  • Application availability could be affected through destructive or resource-intensive queries
  • Sensitive information may be disclosed to an unauthorized remote party

General mitigation guidance

Mitigation generally centers on ensuring that request parameters cannot modify SQL statement structure.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for all database operations
  • Applying allowlist validation appropriate to the expected type and format of city and cid
  • Avoiding SQL string concatenation with request-derived values
  • Running database accounts with only the permissions required by the application
  • Separating administrative endpoints from public access where operationally appropriate
  • Returning generic database errors so internal query details are not exposed

Mitigation generally centers on ensuring that request parameters cannot modify SQL statement structure.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for all database operations
  • Applying allowlist validation appropriate to the expected type and format of city and cid
  • Avoiding SQL string concatenation with request-derived values
  • Running database accounts with only the permissions required by the application
  • Separating administrative endpoints from public access where operationally appropriate
  • Returning generic database errors so internal query details are not exposed

How teams detect issues like this

Detection approaches may include:

  • Static analysis rules that identify SQL construction using request parameters
  • Code review checks for string concatenation or interpolation in database queries
  • Dynamic application testing of endpoint parameters using controlled, non-destructive inputs
  • Web application firewall or API policy rules that monitor anomalous database-oriented input
  • Database audit logging for unexpected query patterns, access volumes, or administrative actions
  • Automated security review tools that flag missing parameterization and weak input validation

Detection approaches may include:

  • Static analysis rules that identify SQL construction using request parameters
  • Code review checks for string concatenation or interpolation in database queries
  • Dynamic application testing of endpoint parameters using controlled, non-destructive inputs
  • Web application firewall or API policy rules that monitor anomalous database-oriented input
  • Database audit logging for unexpected query patterns, access volumes, or administrative actions
  • Automated security review tools that flag missing parameterization and weak input validation

Sources

SourceLink
github.comgithub.com/girishsaraf/Online-Appointment-Booking-System/
github.comgithub.com/girishsaraf/Online-Appointment-Booking-System/issues/13
vuldb.comvuldb.com/cve/CVE-2026-109523
vuldb.comvuldb.com/submit/984341
vuldb.comvuldb.com/vuln/417187
vuldb.comvuldb.com/vuln/417187/cti

Frequently asked

questions

Yes. The affected AJAX endpoint is described as remotely reachable, although authentication and network exposure may vary by deployment.

An attacker needs network access to the endpoint and any permissions required by the application. If the endpoint is public, unauthenticated exploitation may be possible; otherwise, an application account may be required.

Use prepared statements or parameterized queries, validate parameters against expected formats, and avoid incorporating request values directly into SQL text.

Combine secure database APIs with least-privilege database accounts, focused code review, static analysis, endpoint testing, and monitoring for unusual query behavior.

Yes. The affected AJAX endpoint is described as remotely reachable, although authentication and network exposure may vary by deployment.

An attacker needs network access to the endpoint and any permissions required by the application. If the endpoint is public, unauthenticated exploitation may be possible; otherwise, an application account may be required.

Use prepared statements or parameterized queries, validate parameters against expected formats, and avoid incorporating request values directly into SQL text.

Combine secure database APIs with least-privilege database accounts, focused code review, static analysis, endpoint testing, and monitoring for unusual query behavior.

Find out what's already
exploitable in your codebase.