Horizon Alert
Summary of the vulnerability and why it matters
This advisory concerns a critical SQL injection vulnerability found in phpMyFAQ software. Attackers can exploit this flaw to access sensitive credentials, alter records, or delete data by submitting specially crafted input through a search parameter. The primary concern is to determine if this technology is in use and confirm any potential exposure.
- SQL injection in helpdesk search.
- Allows access to credentials and data.
- Confirm relevance and exposure.
Attack Path
How an attacker could exploit the issue
An unauthenticated attacker can target a web application's search feature to inject malicious SQL code. This occurs when the application's search parameter, specifically within the `api/autocomplete` endpoint, is processed without proper sanitization, allowing the attacker to send specially crafted input that manipulates database queries. When the backend database is configured in a specific mode (NO_BACKSLASH_ESCAPES), the injected input can lead to unauthorized access to sensitive data, modification of records, or even deletion of database tables.
- No authentication required.
- Input in search parameter.
- Read, modify, or delete data.
Live Threat
Current exploitation, exposure, and threat context
When MySQL or MariaDB is configured with `NO_BACKSLASH_ESCAPES`, an unauthenticated attacker could send a specially crafted Unicode character in the search parameter of the `api/autocomplete` endpoint. This could allow the attacker to read sensitive system credentials and configuration secrets, alter or delete database records, or even drop entire tables.
- Database credentials and configuration secrets.
- Via search parameter in `api/autocomplete`.
- Read, modify, or delete database records.
Operational Fix
Recommended remediation, mitigation, and detection steps
This SQL injection vulnerability in phpMyFAQ affects the search functionality, potentially exposing sensitive data. Application owners are responsible for identifying deployments of phpMyFAQ and assessing the risk based on reachability and business criticality. The first step involves confirming the presence of the affected software, determining its exposure, and then planning remediation or mitigation strategies.
- Application owners should take ownership.
- Verify unpatched phpMyFAQ instances.
- Plan remediation based on risk.