/

CVE-2026-114440

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in PHP Travel Agency Admin Panel

CVE-2026-114440

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 PHP Travel Agency System may allow remote attackers to influence database queries through identifier parameters processed by admin/delete.php.

If attacker-controlled values reach database statements without effective parameterization, an attacker could read, modify, or delete application data.

A SQL injection vulnerability in the PHP Travel Agency System may allow remote attackers to influence database queries through identifier parameters processed by admin/delete.php.

If attacker-controlled values reach database statements without effective parameterization, an attacker could read, modify, or delete application data.

Affected context

The issue occurs in the administrative deletion endpoint, admin/delete.php, when request parameters such as costomer_id, ticket_id, payment_id, id, document_id, salary_id, emp_id, or user_id are incorporated into database operations. Risk depends on the endpoint being remotely reachable, the parameters reaching a database query, and input validation or query construction failing to preserve a strict separation between data and SQL syntax.

The issue occurs in the administrative deletion endpoint, admin/delete.php, when request parameters such as costomer_id, ticket_id, payment_id, id, document_id, salary_id, emp_id, or user_id are incorporated into database operations. Risk depends on the endpoint being remotely reachable, the parameters reaching a database query, and input validation or query construction failing to preserve a strict separation between data and SQL syntax.

Exploit preconditions

  • Attack surface: The remotely accessible administrative deletion endpoint
  • Required access: Ability to send requests to the endpoint; authentication requirements depend on the application's access controls
  • Trigger point: Processing of one or more identifier parameters by admin/delete.php
  • Why exploitation is possible: Untrusted parameter values may influence SQL query structure when queries are constructed without effective parameter binding or equivalent controls
  • Attack surface: The remotely accessible administrative deletion endpoint
  • Required access: Ability to send requests to the endpoint; authentication requirements depend on the application's access controls
  • Trigger point: Processing of one or more identifier parameters by admin/delete.php
  • Why exploitation is possible: Untrusted parameter values may influence SQL query structure when queries are constructed without effective parameter binding or equivalent controls

Why this happens

The underlying bug is the use of externally supplied identifier values in database query construction without reliably treating them as data. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). The related CWE-74 classification reflects the broader failure to neutralize or constrain special elements in an interpreter-consumed command.

The underlying bug is the use of externally supplied identifier values in database query construction without reliably treating them as data. This behavior maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection). The related CWE-74 classification reflects the broader failure to neutralize or constrain special elements in an interpreter-consumed command.

Potential impact

  • An attacker could retrieve unauthorized records
  • Database contents could be modified or deleted
  • Administrative, customer, payment, employee, or document data could be exposed
  • Application integrity and availability could be affected
  • Database credentials or accessible backend services could be placed at additional risk
  • An attacker could retrieve unauthorized records
  • Database contents could be modified or deleted
  • Administrative, customer, payment, employee, or document data could be exposed
  • Application integrity and availability could be affected
  • Database credentials or accessible backend services could be placed at additional risk

General mitigation guidance

Mitigation generally focuses on ensuring that request data cannot alter SQL command structure.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every database operation
  • Validate identifier parameters against strict types, formats, and permitted resource scopes
  • Avoid dynamically concatenating request values into SQL statements
  • Apply authorization checks before performing deletion or other state-changing actions
  • Use database accounts with only the permissions required by the endpoint
  • Centralize query construction and input handling so secure behavior is consistent
  • Reduce trust in client-supplied identifiers by resolving authorized records server-side

Mitigation generally focuses on ensuring that request data cannot alter SQL command structure.

Common defensive patterns include:

  • Use parameterized queries or prepared statements for every database operation
  • Validate identifier parameters against strict types, formats, and permitted resource scopes
  • Avoid dynamically concatenating request values into SQL statements
  • Apply authorization checks before performing deletion or other state-changing actions
  • Use database accounts with only the permissions required by the endpoint
  • Centralize query construction and input handling so secure behavior is consistent
  • Reduce trust in client-supplied identifiers by resolving authorized records server-side

How teams detect issues like this

Organizations can identify this class of issue through:

  • Static analysis rules for string concatenation or interpolation in SQL execution paths
  • Code review checks for request parameters used in database queries
  • Tests using type-boundary, malformed, and unexpected identifier inputs without relying on exploit payloads
  • Runtime monitoring for anomalous query errors, unusual deletion patterns, and unexpected administrative requests
  • Policy enforcement requiring prepared statements and approved database-access abstractions

Automated code review and security scanning tools may help identify unsafe query-construction patterns, but findings should be validated against authorization and data-flow behavior.

Organizations can identify this class of issue through:

  • Static analysis rules for string concatenation or interpolation in SQL execution paths
  • Code review checks for request parameters used in database queries
  • Tests using type-boundary, malformed, and unexpected identifier inputs without relying on exploit payloads
  • Runtime monitoring for anomalous query errors, unusual deletion patterns, and unexpected administrative requests
  • Policy enforcement requiring prepared statements and approved database-access abstractions

Automated code review and security scanning tools may help identify unsafe query-construction patterns, but findings should be validated against authorization and data-flow behavior.

Sources

SourceLink
github.comgithub.com/oretnom23/php-travel-agency-system/
github.comgithub.com/oretnom23/php-travel-agency-system/issues/3
vuldb.comvuldb.com/cve/CVE-2026-114440
vuldb.comvuldb.com/submit/1020179
vuldb.comvuldb.com/vuln/424812
vuldb.comvuldb.com/vuln/424812/cti

Frequently asked

questions

It may be remotely exploitable when the affected administrative endpoint is reachable and supplied parameters can influence database queries. Authentication and network exposure controls determine the practical scope.

The attacker needs the ability to submit requests to the vulnerable endpoint. Whether an authenticated account is required depends on the application's access-control configuration.

Use parameterized queries or prepared statements, enforce strict server-side validation, and authorize each requested record before performing database operations.

Standardize database access through safe query APIs, prohibit SQL string concatenation with request data, apply least-privilege database permissions, and include data-flow analysis and security tests in the development process.

It may be remotely exploitable when the affected administrative endpoint is reachable and supplied parameters can influence database queries. Authentication and network exposure controls determine the practical scope.

The attacker needs the ability to submit requests to the vulnerable endpoint. Whether an authenticated account is required depends on the application's access-control configuration.

Use parameterized queries or prepared statements, enforce strict server-side validation, and authorize each requested record before performing database operations.

Standardize database access through safe query APIs, prohibit SQL string concatenation with request data, apply least-privilege database permissions, and include data-flow analysis and security tests in the development process.

Find out what's already
exploitable in your codebase.