/

CVE-2026-105184

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Online Admission System 1.0

CVE-2026-105184

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Database compromise and unauthorized data access

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 reachable SQL injection vulnerability in the Online Admission System allows manipulated input in the ID argument of /admin/creteria.php to influence database queries. If the affected endpoint is accessible and input is not safely handled, an attacker may read, alter, or otherwise interfere with application data.

A remotely reachable SQL injection vulnerability in the Online Admission System allows manipulated input in the ID argument of /admin/creteria.php to influence database queries. If the affected endpoint is accessible and input is not safely handled, an attacker may read, alter, or otherwise interfere with application data.

Affected context

The vulnerability occurs in Online Admission System 1.0, specifically in functionality associated with /admin/creteria.php. It becomes risky when the endpoint is remotely accessible and the ID parameter is incorporated into database operations without reliable parameterization or equivalent query-safety controls.

The vulnerability occurs in Online Admission System 1.0, specifically in functionality associated with /admin/creteria.php. It becomes risky when the endpoint is remotely accessible and the ID parameter is incorporated into database operations without reliable parameterization or equivalent query-safety controls.

Exploit preconditions

  • Attack surface: Remotely accessible web endpoint
  • Required access: Access to submit requests to /admin/creteria.php; authentication requirements may depend on deployment configuration
  • Trigger point: Processing of the ID argument
  • Why exploitation is possible: User-controlled input may reach a database query without sufficient separation between data and SQL syntax
  • Attack surface: Remotely accessible web endpoint
  • Required access: Access to submit requests to /admin/creteria.php; authentication requirements may depend on deployment configuration
  • Trigger point: Processing of the ID argument
  • Why exploitation is possible: User-controlled input may reach a database query without sufficient separation between data and SQL syntax

Why this happens

The underlying issue is an injection flaw in which externally controlled input is used to construct or influence a SQL statement. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). The broader CWE-74 classification reflects the failure to keep untrusted input separate from an interpreted command or query language.

The underlying issue is an injection flaw in which externally controlled input is used to construct or influence a SQL statement. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). The broader CWE-74 classification reflects the failure to keep untrusted input separate from an interpreted command or query language.

Potential impact

  • An attacker may retrieve unauthorized database records
  • Sensitive applicant or administrative information could be exposed
  • Database records may be altered or deleted
  • Application authentication or authorization data could be affected
  • The application may experience disruption or data integrity loss
  • An attacker may retrieve unauthorized database records
  • Sensitive applicant or administrative information could be exposed
  • Database records may be altered or deleted
  • Application authentication or authorization data could be affected
  • The application may experience disruption or data integrity loss

General mitigation guidance

Mitigation generally focuses on ensuring that external input cannot become executable SQL syntax.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for all database operations
  • Apply allowlist validation and appropriate type handling to identifier parameters
  • Avoid dynamically concatenating request values into SQL statements
  • Use database accounts with only the permissions required by the application
  • Centralize query construction and enforce secure data-access abstractions
  • Return generic database errors and avoid exposing query details to users
  • Treat client-provided identifiers as untrusted even when authentication is present

Mitigation generally focuses on ensuring that external input cannot become executable SQL syntax.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for all database operations
  • Apply allowlist validation and appropriate type handling to identifier parameters
  • Avoid dynamically concatenating request values into SQL statements
  • Use database accounts with only the permissions required by the application
  • Centralize query construction and enforce secure data-access abstractions
  • Return generic database errors and avoid exposing query details to users
  • Treat client-provided identifiers as untrusted even when authentication is present

How teams detect issues like this

Organizations commonly detect SQL injection risks through:

  • Static analysis rules identifying string concatenation or interpolation in SQL construction
  • Code review checks for request parameters passed directly to database APIs
  • Dynamic application testing that exercises identifier and filter parameters with unexpected input
  • Web application firewall or API gateway policies that identify suspicious injection patterns
  • Database monitoring for unusual query errors, access patterns, or excessive data retrieval

Automated security review tools can help identify unsafe query-building patterns, but findings should be validated against the application's actual data-access flow.

Organizations commonly detect SQL injection risks through:

  • Static analysis rules identifying string concatenation or interpolation in SQL construction
  • Code review checks for request parameters passed directly to database APIs
  • Dynamic application testing that exercises identifier and filter parameters with unexpected input
  • Web application firewall or API gateway policies that identify suspicious injection patterns
  • Database monitoring for unusual query errors, access patterns, or excessive data retrieval

Automated security review tools can help identify unsafe query-building patterns, but findings should be validated against the application's actual data-access flow.

Sources

SourceLink
github.comgithub.com/ltranquility/submit/issues/25
itsourcecode.comitsourcecode.com/
vuldb.comvuldb.com/cve/CVE-2026-105184
vuldb.comvuldb.com/submit/971467
vuldb.comvuldb.com/vuln/413421
vuldb.comvuldb.com/vuln/413421/cti

Frequently asked

questions

Yes. The affected functionality is described as remotely reachable, although practical exploitability may depend on routing, authentication, and other deployment controls.

An attacker needs the ability to submit requests to the affected endpoint and influence the ID parameter. Whether a logged-in account is required depends on how the application exposes /admin/creteria.php.

Use parameterized queries or prepared statements, validate identifier values according to their expected type, and avoid assembling SQL statements through string concatenation.

Treat all request data as untrusted, enforce secure data-access abstractions, apply least-privilege database permissions, and combine code review, static analysis, and runtime testing.

Yes. The affected functionality is described as remotely reachable, although practical exploitability may depend on routing, authentication, and other deployment controls.

An attacker needs the ability to submit requests to the affected endpoint and influence the ID parameter. Whether a logged-in account is required depends on how the application exposes /admin/creteria.php.

Use parameterized queries or prepared statements, validate identifier values according to their expected type, and avoid assembling SQL statements through string concatenation.

Treat all request data as untrusted, enforce secure data-access abstractions, apply least-privilege database permissions, and combine code review, static analysis, and runtime testing.

Find out what's already
exploitable in your codebase.