CVE-2026-19944: WP Crowdfunding <= 2.2.1 - Authenticated (Shop Manager+) SQL Injection via 'wpneo_reward' Post Meta
The WP Crowdfunding plugin for WordPress is vulnerable to generic SQL Injection via 'wpneoreward' Post Meta in all versions up to, and including, 2.2.1 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with shop manager-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This is a second-order injection: a Shop Manager writes the malicious payload once via the WooCommerce REST products endpoint (POST/PUT /wp-json/wc/v3/products/{id}), and the injected query executes on every subsequent public page view that renders the campaign rewards sidebar.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
An attacker needs an authenticated WordPress account with Shop Manager-level access or higher. They must be able to use the WooCommerce REST products endpoint to create or update a product and supply a malicious wpneo_reward post-meta value.
Are unauthenticated visitors able to trigger the vulnerable query?
Yes. Although planting the payload requires Shop Manager-level access or above, the stored payload executes on subsequent public page views that render the campaign rewards sidebar. This means public visitors can trigger execution after a privileged attacker has stored the malicious value.
What data could be exposed?
The injected SQL can be used to extract sensitive information from the WordPress database. The provided severity vector indicates confidentiality impact, with no stated integrity or availability impact.
How can I determine whether my site is exposed to the stored payload?
Review WP Crowdfunding installations at version 2.2.1 or earlier and inspect wpneo_reward post meta on products, particularly values written through POST or PUT requests to /wp-json/wc/v3/products/{id}. Also identify campaign pages whose rewards sidebar is publicly rendered, because those page views execute the stored query.