/

CVE-2026-102913

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Car Driving School System

CVE-2026-102913

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 Car Driving School Management System 1.0 affects the enrollment-saving functionality. A remote attacker who can reach the affected endpoint may influence database queries, potentially allowing unauthorized access to or modification of application data.

Affected context

The issue is associated with the save_enrollment functionality exposed through /classes/Master.php?f=save_enrollment in SourceCodester Car Driving School Management System 1.0. Risk is present where request data reaches database operations without sufficient parameterization or validation, and where the endpoint is remotely accessible.

Exploit preconditions

  • Attack surface: Remote HTTP request to the enrollment-saving endpoint
  • Required access: Network reachability to the affected application; authentication requirements depend on deployment configuration
  • Trigger point: Processing and persistence of enrollment data
  • Why exploitation is possible: Attacker-controlled input may be incorporated into database statements without adequate separation between data and SQL syntax

Why this happens

The underlying bug is an injection flaw in which externally supplied enrollment-related data can affect the structure or execution of a database query. 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 occurs when application input is concatenated into SQL or otherwise passed to a database layer without reliable parameter binding and context-aware validation.

Potential impact

  • An attacker may read sensitive records stored in the application database
  • An attacker could modify or delete enrollment and administrative data
  • Database integrity and application availability may be affected
  • Exposed credentials or personal information could be disclosed
  • The vulnerability may enable further compromise if database privileges are excessive

General mitigation guidance

Mitigation generally focuses on ensuring that all database operations treat external values strictly as data.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every database operation
  • Avoid dynamic SQL construction from request values
  • Apply allowlisted validation based on the expected type and format of each field
  • Enforce authorization checks independently of input validation
  • Use database accounts with only the privileges required by the application
  • Centralize data-access patterns so unsafe query construction is difficult to introduce
  • Avoid exposing detailed database errors to remote clients

How teams detect issues like this

Organizations can look for SQL injection risks through:

  • Static analysis rules identifying string concatenation or interpolation in SQL execution paths
  • Code review checks for unparameterized queries in enrollment and form-processing handlers
  • Dynamic testing of remotely reachable parameters using controlled security test inputs
  • Web-application firewall or API policy rules for anomalous database-oriented request patterns
  • Database monitoring for unexpected query structures, privilege use, and access to unrelated tables
  • Automated code review tools that flag unsafe data-flow paths from request parameters to database APIs

Sources

SourceLink
github.comgithub.com/zhongzhicong1998/CVE/issues/2
vuldb.comvuldb.com/cve/CVE-2026-102913
vuldb.comvuldb.com/submit/954038
vuldb.comvuldb.com/vuln/411637
vuldb.comvuldb.com/vuln/411637/cti
sourcecodester.comsourcecodester.com/

Frequently asked

questions

Yes. The affected functionality is exposed through a remotely reachable web endpoint, although network controls and application authentication may limit practical exposure.

The available information does not establish a required authentication level. The key condition is whether an attacker can submit input to the affected enrollment functionality.

Use parameterized queries or prepared statements throughout the database access layer, combined with type- and context-appropriate input validation.

Apply secure data-access abstractions, least-privilege database accounts, code review rules for query construction, and continuous static and dynamic security testing.

Find out what's already
exploitable in your codebase.