/

CVE-2026-117514

Severity:

HIGH RISK

(7.3)

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

CVE-2026-117514

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 affects the Admin Record Pages component, where user-controlled identifiers are processed unsafely by admin/customer_detail.php.

A remote attacker may be able to manipulate parameters such as costomer_id, ticket_id, emp_id, salary_id, or page_id to alter database queries when the affected endpoint is accessible.

A SQL injection vulnerability in the PHP Travel Agency System affects the Admin Record Pages component, where user-controlled identifiers are processed unsafely by admin/customer_detail.php.

A remote attacker may be able to manipulate parameters such as costomer_id, ticket_id, emp_id, salary_id, or page_id to alter database queries when the affected endpoint is accessible.

Affected context

The issue occurs in deployments of oretnom23 php-travel-agency-system where the Admin Record Pages endpoint is reachable and one or more record identifier parameters are incorporated into database queries without adequate separation between data and SQL syntax. Exploitability depends on the endpoint's exposure, request handling, database permissions, and any authentication or authorization controls surrounding the administrative functionality.

The issue occurs in deployments of oretnom23 php-travel-agency-system where the Admin Record Pages endpoint is reachable and one or more record identifier parameters are incorporated into database queries without adequate separation between data and SQL syntax. Exploitability depends on the endpoint's exposure, request handling, database permissions, and any authentication or authorization controls surrounding the administrative functionality.

Exploit preconditions

  • Attack surface: The remotely reachable admin/customer_detail.php endpoint
  • Required access: Network access to the affected page; authentication requirements depend on the deployment's access controls
  • Trigger point: Processing of the costomer_id, ticket_id, emp_id, salary_id, or page_id request parameters
  • Why exploitation is possible: Attacker-controlled values may influence database query construction when input is not safely bound as data
  • Attack surface: The remotely reachable admin/customer_detail.php endpoint
  • Required access: Network access to the affected page; authentication requirements depend on the deployment's access controls
  • Trigger point: Processing of the costomer_id, ticket_id, emp_id, salary_id, or page_id request parameters
  • Why exploitation is possible: Attacker-controlled values may influence database query construction when input is not safely bound as data

Why this happens

The underlying bug is improper separation of untrusted input from database commands. When request parameters are concatenated, interpreted, or otherwise incorporated into SQL without parameterized query handling and suitable validation, attacker-controlled syntax can change the intended meaning of a query.

This 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 command or expression injection pattern in which externally controlled data alters an interpreter's instructions.

The underlying bug is improper separation of untrusted input from database commands. When request parameters are concatenated, interpreted, or otherwise incorporated into SQL without parameterized query handling and suitable validation, attacker-controlled syntax can change the intended meaning of a query.

This 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 command or expression injection pattern in which externally controlled data alters an interpreter's instructions.

Potential impact

  • An attacker may be able to read unauthorized database records
  • Sensitive customer, employee, ticket, or salary information could be exposed
  • Database records may be modified or deleted
  • Authentication or authorization data could be affected
  • The application or underlying database service could experience disruption
  • Further compromise could be possible if the database account has excessive privileges
  • An attacker may be able to read unauthorized database records
  • Sensitive customer, employee, ticket, or salary information could be exposed
  • Database records may be modified or deleted
  • Authentication or authorization data could be affected
  • The application or underlying database service could experience disruption
  • Further compromise could be possible if the database account has excessive privileges

General mitigation guidance

Defensive measures generally focus on ensuring that request values remain data throughout query processing.

  • Use parameterized queries or prepared statements for every database operation
  • Apply allowlisted type and format validation for numeric and identifier parameters
  • Avoid constructing SQL statements through string concatenation
  • Use database accounts with only the permissions required by the application
  • Enforce authentication and authorization checks consistently on administrative record pages
  • Centralize data-access controls and use secure-by-default query interfaces
  • Reduce trust in client-supplied identifiers by deriving authorization context from the authenticated session where appropriate
  • Avoid returning detailed database errors to remote users

Defensive measures generally focus on ensuring that request values remain data throughout query processing.

  • Use parameterized queries or prepared statements for every database operation
  • Apply allowlisted type and format validation for numeric and identifier parameters
  • Avoid constructing SQL statements through string concatenation
  • Use database accounts with only the permissions required by the application
  • Enforce authentication and authorization checks consistently on administrative record pages
  • Centralize data-access controls and use secure-by-default query interfaces
  • Reduce trust in client-supplied identifiers by deriving authorization context from the authenticated session where appropriate
  • Avoid returning detailed database errors to remote users

How teams detect issues like this

Detection can combine static analysis, application testing, and runtime monitoring.

  • Search source code for SQL statements assembled with request parameters or string interpolation
  • Review data-access functions for missing prepared statements and inconsistent parameter binding
  • Inspect administrative endpoints for direct use of query-string or form values
  • Use code review rules that flag database calls receiving unsanitized request data
  • Test authorized and unauthorized access paths with safe injection probes in controlled environments
  • Monitor logs for abnormal parameter patterns, database errors, and unusual record-enumeration behavior
  • Enforce CI policies requiring parameterized database APIs and security-focused automated review

Detection can combine static analysis, application testing, and runtime monitoring.

  • Search source code for SQL statements assembled with request parameters or string interpolation
  • Review data-access functions for missing prepared statements and inconsistent parameter binding
  • Inspect administrative endpoints for direct use of query-string or form values
  • Use code review rules that flag database calls receiving unsanitized request data
  • Test authorized and unauthorized access paths with safe injection probes in controlled environments
  • Monitor logs for abnormal parameter patterns, database errors, and unusual record-enumeration behavior
  • Enforce CI policies requiring parameterized database APIs and security-focused automated review

Sources

SourceLink
github.comgithub.com/oretnom23/php-travel-agency-system/
github.comgithub.com/oretnom23/php-travel-agency-system/issues/8
vuldb.comvuldb.com/cve/CVE-2026-117514
vuldb.comvuldb.com/submit/1024622
vuldb.comvuldb.com/vuln/427080
vuldb.comvuldb.com/vuln/427080/cti

Frequently asked

questions

Yes, the affected endpoint is described as remotely reachable. Successful exploitation still depends on the page being exposed and on the attacker's ability to submit requests that reach the vulnerable query-processing path.

The available information does not establish a specific authentication requirement. Access controls may limit exploitation, but any user who can reach the vulnerable administrative functionality could be relevant.

Replace dynamic SQL construction with parameterized queries or prepared statements, and validate identifier parameters using strict allowlists and expected data types.

Use centralized secure data-access APIs, minimize database privileges, protect administrative routes with consistent authorization, and include static analysis, code review, and controlled security testing in the development process.

Yes, the affected endpoint is described as remotely reachable. Successful exploitation still depends on the page being exposed and on the attacker's ability to submit requests that reach the vulnerable query-processing path.

The available information does not establish a specific authentication requirement. Access controls may limit exploitation, but any user who can reach the vulnerable administrative functionality could be relevant.

Replace dynamic SQL construction with parameterized queries or prepared statements, and validate identifier parameters using strict allowlists and expected data types.

Use centralized secure data-access APIs, minimize database privileges, protect administrative routes with consistent authorization, and include static analysis, code review, and controlled security testing in the development process.

Find out what's already
exploitable in your codebase.