/

CVE-2026-112139

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Clinic Admin Mutation Handler

CVE-2026-112139

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 online clinic management system allows attacker-controlled input in the administrative doctor-view workflow to influence database queries. If the affected endpoint is reachable and the supplied identifier is not safely handled, a remote attacker may read, modify, or otherwise manipulate database content.

A SQL injection vulnerability in the online clinic management system allows attacker-controlled input in the administrative doctor-view workflow to influence database queries. If the affected endpoint is reachable and the supplied identifier is not safely handled, a remote attacker may read, modify, or otherwise manipulate database content.

Affected context

The issue occurs in the administrative mutation handler associated with admindocview.php, where the docid argument is processed. Risk is increased when this endpoint is remotely accessible, accepts untrusted request parameters, and constructs database queries without effective parameterization or equivalent input controls. The rolling-release model means deployments may differ in their exposure and remediation status.

The issue occurs in the administrative mutation handler associated with admindocview.php, where the docid argument is processed. Risk is increased when this endpoint is remotely accessible, accepts untrusted request parameters, and constructs database queries without effective parameterization or equivalent input controls. The rolling-release model means deployments may differ in their exposure and remediation status.

Exploit preconditions

  • Attack surface: The remotely reachable administrative doctor-view endpoint
  • Required access: Network access to the endpoint; additional authentication may or may not be required depending on deployment controls
  • Trigger point: Processing of the docid request argument by admindocview.php
  • Why exploitation is possible: Untrusted input may be incorporated into a database query without sufficient separation between data and SQL syntax
  • Attack surface: The remotely reachable administrative doctor-view endpoint
  • Required access: Network access to the endpoint; additional authentication may or may not be required depending on deployment controls
  • Trigger point: Processing of the docid request argument by admindocview.php
  • Why exploitation is possible: Untrusted input may be incorporated into a database query without sufficient separation between data and SQL syntax

Why this happens

The underlying bug is an injection flaw in which externally supplied data is allowed to affect the structure or meaning of a database query. This is consistent with CWE-89, SQL Injection, and falls within the broader injection family represented by CWE-74. The insecure pattern typically involves building query strings from request parameters instead of using parameterized statements, safe query APIs, or an equivalent abstraction that keeps data separate from executable query logic.

The underlying bug is an injection flaw in which externally supplied data is allowed to affect the structure or meaning of a database query. This is consistent with CWE-89, SQL Injection, and falls within the broader injection family represented by CWE-74. The insecure pattern typically involves building query strings from request parameters instead of using parameterized statements, safe query APIs, or an equivalent abstraction that keeps data separate from executable query logic.

Potential impact

  • An attacker may retrieve sensitive clinic, patient, or administrative data.
  • An attacker could alter, delete, or corrupt database records.
  • Database credentials or other stored secrets may be exposed.
  • The application may experience unauthorized administrative actions or service disruption.
  • Depending on database privileges and configuration, compromise could extend to connected systems.
  • An attacker may retrieve sensitive clinic, patient, or administrative data.
  • An attacker could alter, delete, or corrupt database records.
  • Database credentials or other stored secrets may be exposed.
  • The application may experience unauthorized administrative actions or service disruption.
  • Depending on database privileges and configuration, compromise could extend to connected systems.

General mitigation guidance

Mitigation generally focuses on enforcing a strict separation between query

logic and user-controlled data.

Common defensive patterns include:

  • Use parameterized queries, prepared statements, or safe ORM query interfaces for every database operation.
  • Apply allowlist validation to identifier-like values such as docid, including expected type, format, and range.
  • Avoid dynamically concatenating request parameters into SQL statements.
  • Use database accounts with only the privileges required by the application.
  • Keep administrative endpoints protected by strong authentication and authorization controls.
  • Return generic error messages and avoid exposing database details to clients.
  • Treat input validation as a secondary control rather than a replacement for query parameterization.

Mitigation generally focuses on enforcing a strict separation between query

logic and user-controlled data.

Common defensive patterns include:

  • Use parameterized queries, prepared statements, or safe ORM query interfaces for every database operation.
  • Apply allowlist validation to identifier-like values such as docid, including expected type, format, and range.
  • Avoid dynamically concatenating request parameters into SQL statements.
  • Use database accounts with only the privileges required by the application.
  • Keep administrative endpoints protected by strong authentication and authorization controls.
  • Return generic error messages and avoid exposing database details to clients.
  • Treat input validation as a secondary control rather than a replacement for query parameterization.

How teams detect issues like this

Detection can combine source review, automated analysis, and runtime monitoring:

  • Use static analysis rules to identify SQL construction through string concatenation, interpolation, or formatting with request parameters.
  • Review database access paths for direct use of values originating from $_GET, $_POST, route parameters, or equivalent request sources.
  • Check that administrative identifiers are validated and passed through parameter-binding APIs.
  • Use policy enforcement in CI to flag unparameterized query APIs and unsafe database wrappers.
  • Monitor application and database logs for abnormal query errors, unexpected syntax fragments, unusual enumeration, or access patterns against administrative endpoints.
  • Neutral automated code-review tools may help identify data-flow paths from HTTP input to database execution functions.

Detection can combine source review, automated analysis, and runtime monitoring:

  • Use static analysis rules to identify SQL construction through string concatenation, interpolation, or formatting with request parameters.
  • Review database access paths for direct use of values originating from $_GET, $_POST, route parameters, or equivalent request sources.
  • Check that administrative identifiers are validated and passed through parameter-binding APIs.
  • Use policy enforcement in CI to flag unparameterized query APIs and unsafe database wrappers.
  • Monitor application and database logs for abnormal query errors, unexpected syntax fragments, unusual enumeration, or access patterns against administrative endpoints.
  • Neutral automated code-review tools may help identify data-flow paths from HTTP input to database execution functions.

Sources

SourceLink
github.comgithub.com/subhajitkhan/online-clinic-management-system/
github.comgithub.com/subhajitkhan/online-clinic-management-system/issues/5
vuldb.comvuldb.com/cve/CVE-2026-112139
vuldb.comvuldb.com/submit/1013202
vuldb.comvuldb.com/vuln/422244
vuldb.comvuldb.com/vuln/422244/cti

Frequently asked

questions

The reported issue may be initiated remotely when the affected administrative

endpoint is reachable over the network. Authentication and authorization

requirements depend on the application's deployment and access controls.

An attacker needs network access to the relevant endpoint and the ability to

submit a request containing the affected argument. If the endpoint is

protected, valid credentials or another route past those controls may also be

necessary.

Use parameterized queries or prepared statements for all database operations,

validate identifier inputs against an allowlist, and restrict the database

account to the minimum required privileges.

Combine secure database APIs with code review, static analysis, CI policy

checks, focused tests for injection-resistant data flows, and monitoring of

administrative endpoints and database anomalies.

The reported issue may be initiated remotely when the affected administrative

endpoint is reachable over the network. Authentication and authorization

requirements depend on the application's deployment and access controls.

An attacker needs network access to the relevant endpoint and the ability to

submit a request containing the affected argument. If the endpoint is

protected, valid credentials or another route past those controls may also be

necessary.

Use parameterized queries or prepared statements for all database operations,

validate identifier inputs against an allowlist, and restrict the database

account to the minimum required privileges.

Combine secure database APIs with code review, static analysis, CI policy

checks, focused tests for injection-resistant data flows, and monitoring of

administrative endpoints and database anomalies.

Find out what's already
exploitable in your codebase.