/

CVE-2026-105468

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Online Appointment Login

CVE-2026-105468

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Unauthorized database access, authentication bypass, 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 login handler allows remote attackers to manipulate username or password input used by a database query. Under conditions where these values reach the query without effective parameterization, an attacker may bypass authentication or access, alter, or disrupt database-backed information.

A SQL injection vulnerability in the Online-Appointment-Booking-System login handler allows remote attackers to manipulate username or password input used by a database query. Under conditions where these values reach the query without effective parameterization, an attacker may bypass authentication or access, alter, or disrupt database-backed information.

Affected context

The vulnerability occurs in the login handler at Admin/mlogin.php, where the uname and pass request parameters are used in a database query through mysqli_query. It may affect deployments using the referenced code lineage when these inputs are remotely reachable and are not consistently handled through parameterized queries or equivalent query-separation controls.

The vulnerability occurs in the login handler at Admin/mlogin.php, where the uname and pass request parameters are used in a database query through mysqli_query. It may affect deployments using the referenced code lineage when these inputs are remotely reachable and are not consistently handled through parameterized queries or equivalent query-separation controls.

Exploit preconditions

  • Attack surface: Remotely accessible login endpoint
  • Required access: Ability to submit requests to the login handler; no prior authenticated access may be necessary
  • Trigger point: Processing of the uname or pass parameters
  • Why exploitation is possible: User-controlled values may be incorporated into a SQL statement without reliable separation between data and query syntax
  • Attack surface: Remotely accessible login endpoint
  • Required access: Ability to submit requests to the login handler; no prior authenticated access may be necessary
  • Trigger point: Processing of the uname or pass parameters
  • Why exploitation is possible: User-controlled values may be incorporated into a SQL statement without reliable separation between data and query syntax

Why this happens

The underlying issue is the construction or execution of a database query using externally controlled input without a sufficiently safe query interface. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). CWE-74 is a broader parent category covering improper neutralization of special elements in output used by another component; in this case, the affected interpreter is the SQL engine.

The underlying issue is the construction or execution of a database query using externally controlled input without a sufficiently safe query interface. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). CWE-74 is a broader parent category covering improper neutralization of special elements in output used by another component; in this case, the affected interpreter is the SQL engine.

Potential impact

  • An attacker may bypass login controls
  • Sensitive database records could be read
  • Application data could be modified or deleted
  • Database availability could be disrupted
  • Information disclosed through query responses could support further attacks
  • An attacker may bypass login controls
  • Sensitive database records could be read
  • Application data could be modified or deleted
  • Database availability could be disrupted
  • Information disclosed through query responses could support further attacks

General mitigation guidance

Mitigation generally focuses on ensuring that user-supplied values cannot alter SQL statement structure.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for every database operation
  • Avoiding dynamic SQL construction from request parameters
  • Applying allowlist validation for fields with constrained formats
  • Limiting the database account to the minimum required privileges
  • Separating authentication logic from ad hoc query construction
  • Returning generic login errors and minimizing database details in responses

These controls reduce both direct injection risk and the potential impact of a compromised database account.

Mitigation generally focuses on ensuring that user-supplied values cannot alter SQL statement structure.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for every database operation
  • Avoiding dynamic SQL construction from request parameters
  • Applying allowlist validation for fields with constrained formats
  • Limiting the database account to the minimum required privileges
  • Separating authentication logic from ad hoc query construction
  • Returning generic login errors and minimizing database details in responses

These controls reduce both direct injection risk and the potential impact of a compromised database account.

How teams detect issues like this

Detection approaches can include:

  • Static analysis for string concatenation or interpolation of request parameters into SQL calls
  • Code review checks around mysqli_query and other database APIs
  • Dynamic application testing using benign injection probes in controlled environments
  • Web-application firewall or gateway policies for suspicious SQL metacharacter patterns
  • Database monitoring for anomalous authentication queries, error spikes, and unexpected read or write activity
  • Automated security review tools that flag unparameterized database access paths

Detection approaches can include:

  • Static analysis for string concatenation or interpolation of request parameters into SQL calls
  • Code review checks around mysqli_query and other database APIs
  • Dynamic application testing using benign injection probes in controlled environments
  • Web-application firewall or gateway policies for suspicious SQL metacharacter patterns
  • Database monitoring for anomalous authentication queries, error spikes, and unexpected read or write activity
  • Automated security review tools that flag unparameterized database access paths

Sources

SourceLink
github.comgithub.com/girishsaraf/Online-Appointment-Booking-System/
github.comgithub.com/girishsaraf/Online-Appointment-Booking-System/issues/6
vuldb.comvuldb.com/cve/CVE-2026-105468
vuldb.comvuldb.com/submit/984333
vuldb.comvuldb.com/vuln/413614
vuldb.comvuldb.com/vuln/413614/cti

Frequently asked

questions

Yes. The affected login handler is remotely reachable when exposed by the application, and exploitation may be possible through crafted uname or pass input.

Typically, no prior authenticated session is required because the login handler processes unauthenticated credential submissions. Network access to the endpoint is still necessary.

Use parameterized queries or prepared statements so input values remain data rather than becoming part of SQL syntax. Avoid relying on escaping alone as the primary defense.

Combine safe database APIs, constrained input validation, least-privilege database accounts, code review, automated scanning, and monitoring of unusual query behavior.

Yes. The affected login handler is remotely reachable when exposed by the application, and exploitation may be possible through crafted uname or pass input.

Typically, no prior authenticated session is required because the login handler processes unauthenticated credential submissions. Network access to the endpoint is still necessary.

Use parameterized queries or prepared statements so input values remain data rather than becoming part of SQL syntax. Avoid relying on escaping alone as the primary defense.

Combine safe database APIs, constrained input validation, least-privilege database accounts, code review, automated scanning, and monitoring of unusual query behavior.

Find out what's already
exploitable in your codebase.