The WP Inventory Manager plugin for WordPress is vulnerable to SQL Injection via the 'where'...
🔗 CVE IDs covered (1)
📋 Description
The WP Inventory Manager plugin for WordPress is vulnerable to SQL Injection via the 'where' shortcode attribute of the [wpinventory] shortcode in versions up to, and including, 2.5.1. This is due to insufficient escaping on the user-supplied parameter and lack of sufficient preparation on the existing SQL query in the WPIMItem::get_all() function — parse_custom_where() only performs html_entity_decode(), strips semicolons, and does field-label name replacements, without using $wpdb->prepare() or a whitelist. The resulting string is concatenated into a raw SELECT statement that is executed via $wpdb->get_results(). This makes it possible for authenticated attackers, with Contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
🔗 References (9)
- https://nvd.nist.gov/vuln/detail/CVE-2026-17607
- https://plugins.trac.wordpress.org/browser/wp-inventory-manager/tags/2.4.1/includes/wpinventory.item.class.php#L211
- https://plugins.trac.wordpress.org/browser/wp-inventory-manager/tags/2.4.1/includes/wpinventory.item.class.php#L269
- https://plugins.trac.wordpress.org/browser/wp-inventory-manager/tags/2.4.1/includes/wpinventory.item.class.php#L748
- https://plugins.trac.wordpress.org/browser/wp-inventory-manager/tags/2.4.1/includes/wpinventory.shortcode.class.php#L72
- https://plugins.trac.wordpress.org/browser/wp-inventory-manager/tags/2.4.1/wpinventory.core.php#L448
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3657730%40wp-inventory-manager&new=3657730%40wp-inventory-manager
- https://www.wordfence.com/threat-intel/vulnerabilities/id/1f439d60-0295-4ea8-b16d-9cdd0d866a8d?source=cve
- https://github.com/advisories/GHSA-q2g2-xwwx-rp3m