WP Ticket <= 6.0.4 - Unauthenticated SQL Injection via WordPress Search 's' Parameter
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub, 1 Nuclei template
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
The WP Ticket plugin for WordPress is vulnerable to SQL Injection via the WordPress search query parameter (`s`) in versions up to, and including, 6.0.4 The plugin hooks WordPress's `posts_request` filter with `wp_ticket_com_posts_request()`, which calls `emd_author_search_results()` when the current request is an unauthenticated front-end search. That function reads `$query->query_vars['s']` — already wp_unslash()'d by `WP_Query::parse_query()`, so wp_magic_quotes protection has been stripped — and concatenates the raw value into a SQL `LIKE` clause inside a UNION sub-SELECT appended to the main query, with no `$wpdb->prepare()` or escaping. This makes it possible for unauthenticated attackers to append additional SQL queries into already-existing queries that can be used to extract sensitive information from the database.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- emarket-design Customer Support Ticket System & Helpdesk
through 6.0.4
References 9
plugins.trac.wordpress.org
- browser/wp-ticket/tags/6.0.4/includes/common-functions.php#L174
- browser/wp-ticket/tags/6.0.4/includes/common-functions.php#L164
- browser/wp-ticket/tags/6.0.4/includes/query-filters.php#L57
- browser/wp-ticket/tags/6.0.4/includes/filter-functions.php#L22
- changeset/3565099/wp-ticket/trunk/includes/common-functions.php
- changeset?old_path=%2Fwp-ticket/tags/6.0.4&new_path=%2Fwp-ticket/tags/6.0.5