/

CVE-2026-117516

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in Travel Agency Contact Handler

CVE-2026-117516

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Database compromise and potential data disclosure

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 exploitable SQL injection vulnerability affects the contact form handler in php-travel-agency-system. An attacker who can submit crafted values through the contact form may alter database queries, potentially exposing, modifying, or deleting application data.

A remotely exploitable SQL injection vulnerability affects the contact form handler in php-travel-agency-system. An attacker who can submit crafted values through the contact form may alter database queries, potentially exposing, modifying, or deleting application data.

Affected context

The weakness occurs in the Contact Form Handler, specifically within contact_insert.php, when submitted name, company, email, topic, phone, or comments values are incorporated into database operations without sufficient separation from SQL syntax. Risk is highest when the handler is publicly reachable and accepts these fields without effective parameterization or server-side validation.

The weakness occurs in the Contact Form Handler, specifically within contact_insert.php, when submitted name, company, email, topic, phone, or comments values are incorporated into database operations without sufficient separation from SQL syntax. Risk is highest when the handler is publicly reachable and accepts these fields without effective parameterization or server-side validation.

Exploit preconditions

  • Attack surface: Remotely accessible contact form submission endpoint - Required access: Ability to reach the application and submit contact form

data; authenticated access is not indicated by the available description

  • Trigger point: Processing of user-controlled contact form fields by

contact_insert.php

  • Why exploitation is possible: Input values may influence SQL statements

when query construction does not reliably distinguish data from commands

  • Attack surface: Remotely accessible contact form submission endpoint - Required access: Ability to reach the application and submit contact form

data; authenticated access is not indicated by the available description

  • Trigger point: Processing of user-controlled contact form fields by

contact_insert.php

  • Why exploitation is possible: Input values may influence SQL statements

when query construction does not reliably distinguish data from commands

Why this happens

The underlying bug is improper neutralization of user-controlled input within SQL statements. This is classified primarily as CWE-89, SQL Injection, and also relates to CWE-74, injection through externally controlled input. The insecure pattern occurs when application code constructs database queries by combining untrusted form values with SQL syntax instead of using parameterized statements or an equivalent query abstraction.

The underlying bug is improper neutralization of user-controlled input within SQL statements. This is classified primarily as CWE-89, SQL Injection, and also relates to CWE-74, injection through externally controlled input. The insecure pattern occurs when application code constructs database queries by combining untrusted form values with SQL syntax instead of using parameterized statements or an equivalent query abstraction.

Potential impact

  • An attacker may retrieve sensitive application or user data.
  • An attacker could modify or delete database records.
  • The vulnerability may enable authentication or authorization data abuse if

those records are reachable through affected queries.

  • Database availability could be reduced through destructive or expensive

operations.

  • Compromised data could support further attacks against users or

administrators.

  • An attacker may retrieve sensitive application or user data.
  • An attacker could modify or delete database records.
  • The vulnerability may enable authentication or authorization data abuse if

those records are reachable through affected queries.

  • Database availability could be reduced through destructive or expensive

operations.

  • Compromised data could support further attacks against users or

administrators.

General mitigation guidance

Mitigation generally centers on using parameterized queries, prepared statements, or trusted ORM query APIs for every affected database operation. Input validation should reduce unexpected formats but should not replace query parameterization. Applications should minimize database privileges, separate read and write identities where practical, avoid exposing detailed database errors, and apply secure-by-default data-access libraries. Reducing trust in client-provided fields, enforcing server-side validation, and limiting the contact handler's database permissions can reduce residual impact.

Mitigation generally centers on using parameterized queries, prepared statements, or trusted ORM query APIs for every affected database operation. Input validation should reduce unexpected formats but should not replace query parameterization. Applications should minimize database privileges, separate read and write identities where practical, avoid exposing detailed database errors, and apply secure-by-default data-access libraries. Reducing trust in client-provided fields, enforcing server-side validation, and limiting the contact handler's database permissions can reduce residual impact.

How teams detect issues like this

Detection can include static analysis for string concatenation or formatting used to build SQL queries from request parameters, as well as code review checks for direct use of contact form fields in database calls. Dynamic testing may monitor responses and database behavior for unexpected query interpretation, while web application firewalls and database audit logs can identify suspicious request patterns. CI policy checks and automated review tools can flag non-parameterized query APIs and missing server-side input handling.

Detection can include static analysis for string concatenation or formatting used to build SQL queries from request parameters, as well as code review checks for direct use of contact form fields in database calls. Dynamic testing may monitor responses and database behavior for unexpected query interpretation, while web application firewalls and database audit logs can identify suspicious request patterns. CI policy checks and automated review tools can flag non-parameterized query APIs and missing server-side input handling.

Sources

SourceLink
github.comgithub.com/oretnom23/php-travel-agency-system/
github.comgithub.com/oretnom23/php-travel-agency-system/issues/10
vuldb.comvuldb.com/cve/CVE-2026-117516
vuldb.comvuldb.com/submit/1024624
vuldb.comvuldb.com/vuln/427082
vuldb.comvuldb.com/vuln/427082/cti

Frequently asked

questions

Yes. The affected contact form handler is described as remotely reachable, so

an attacker may be able to submit crafted form values over the network.

The available information does not establish an authentication requirement.

The important prerequisite is access to the contact form endpoint and the

ability to submit its fields.

Use parameterized queries or prepared statements for all database operations,

validate inputs on the server, and ensure the handler uses a least-privilege

database account.

Standardize safe data-access APIs, prohibit SQL construction through string

concatenation, add injection-focused tests, and use code review or automated

analysis policies to detect unsafe query patterns.

Yes. The affected contact form handler is described as remotely reachable, so

an attacker may be able to submit crafted form values over the network.

The available information does not establish an authentication requirement.

The important prerequisite is access to the contact form endpoint and the

ability to submit its fields.

Use parameterized queries or prepared statements for all database operations,

validate inputs on the server, and ensure the handler uses a least-privilege

database account.

Standardize safe data-access APIs, prohibit SQL construction through string

concatenation, add injection-focused tests, and use code review or automated

analysis policies to detect unsafe query patterns.

Find out what's already
exploitable in your codebase.