CVE-2026-17607: WP Inventory Manager <= 2.5.1 - Authenticated (Contributor+) SQL Injection via 'where' Shortcode Attribute

Published Sep 18, 2026
·
Updated

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::getall() function — parsecustomwhere() only performs htmlentitydecode(), 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->getresults(). 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.

Affected Software

1 affected component
WordPress WP Inventory Manager plugin<=2.5.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade wordpress/wp-inventory-manager to a version that resolves this vulnerability.

    Fixed in 2.5.1
  2. Configuration

    Update the plugin so the 'where' shortcode attribute is parsed and mapped using a whitelist (allowed field names/operators/order) and the final SQL is built using $wpdb->prepare() (rather than concatenating the user-supplied string into a raw SELECT executed via $wpdb->get_results()).

    WP Inventory Manager (WordPress plugin) [wpinventory] shortcode attribute 'where' handling = Use $wpdb->prepare() and/or a strict whitelist for allowed fields/operators; do not execute raw concatenated SQL from parse_custom_where()

Event History

Sep 18, 2026
CVE Published
via MITRE·07:39 AM
Data Sourced
via MITRE·07:39 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

An authenticated WordPress user with Contributor-level access or higher can exploit it. The attack is network-accessible and does not require user interaction.

2

What access or feature is required for exploitation?

The attacker must be able to submit the where attribute in the [wpinventory] shortcode. The vulnerable query path processes that attribute in WPIMItem::get_all().

3

What is the likely impact?

An attacker can append SQL to an existing query and extract sensitive information from the WordPress database. The provided severity vector indicates confidentiality impact only; integrity and availability impacts are not indicated.

4

How can I identify affected installations?

Check whether the WordPress site has the WP Inventory Manager plugin installed and whether its version is 2.5.1 or earlier. Also review whether Contributor or higher users can create or edit content containing the [wpinventory] shortcode with a where attribute.

5

What can be done if updating is not immediately possible?

Restrict Contributor-level and higher access to trusted users, and prevent untrusted users from publishing or modifying content that can include the [wpinventory] shortcode and its where attribute. Review existing content for uses of that shortcode attribute.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203