PluginCheck.Security.DirectDB.UnescapedDBParameter
Database parameter is not escaped
A value is passed into database-related code without escaping, preparation, or strict allowlisting.
Why It Shows Up
Plugin Check found a database parameter that appears to come from dynamic input without the usual `$wpdb->prepare()` protection.
Why It Matters
Database parameters often influence queries directly. Unsafe values can corrupt data access or create SQL injection risk.
How to Fix
- Use `$wpdb->prepare()` for values.
- Use explicit allowlists for table names, column names, order fields, and directions.
- Sanitize and validate request data before it reaches query construction.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #2351 | Retainful – WooCommerce Abandoned Cart, Newsletters, Email Marketing, Signup Forms and Automation | 79 | 15 | 26 | 1k+ | Non-prefixed hook name | ||
| #2352 | SureMail – SMTP and Email Logs Plugin with Amazon SES, Postmark, and Other Providers | 79 | 45 | 66 | 200k+ | Non-prefixed hook name | ||
| #2353 | Notifima – WooCommerce Stock Manager, Inventory Management, Waitlist | 79 | 121 | 42 | 3k+ | Text Domain Mismatch | ||
| #2354 | Antispam Bee | 80 | 4 | 38 | 700k+ | Nonce verification recommended | ||
| #2355 | wModes – Catalog Mode, Product Pricing, Enquiry Forms & Promotions | for WooCommerce | 80 | 465 | 900 | Non-prefixed global variable | |||
| #2356 | Interlinks Manager – Internal Links Optimizer | 80 | 17 | 13 | 7k+ | Database parameter is not escaped | ||
| #2357 | Flexible Wishlist for WooCommerce – Ecommerce Wishlist & Save for later | 80 | 21 | 25 | 800 | Non-prefixed global variable | ||
| #2358 | Nexter Blocks – Gutenberg Blocks, Page Builder & AI Website Builder | 80 | 94 | 732 | 10k+ | Non-prefixed global variable | ||
| #2359 | Melapress File Monitor | 80 | 16 | 90 | 6k+ | Non-prefixed global variable | ||
| #2360 | Product Feed PRO for WooCommerce by AdTribes – Product Feeds for WooCommerce | 80 | 9 | 450 | 80k+ | Non-prefixed hook name | ||
| #2361 | GoCardless for WooCommerce | 80 | 60 | 1k+ | Non-prefixed class | |||
| #2362 | ActivityPub | 81 | 67 | 305 | 6k+ | Non-prefixed global variable | ||
| #2363 | AI | 81 | 11 | 79 | 30k+ | Non-prefixed global variable | ||
| #2364 | Great Restaurant Menu WP | 81 | 89 | 100 | 1k+ | Text Domain Mismatch | ||
| #2365 | Bulky – Bulk Edit Products for WooCommerce | 81 | 3 | 21 | 10k+ | Non-prefixed hook name | ||
| #2366 | ElasticPress | 81 | 13 | 655 | 8k+ | Non-prefixed hook name | ||
| #2367 | Migrate Guru – Site Migration & Cloning | 81 | 7 | 8 | 200k+ | Database parameter is not escaped | ||
| #2368 | Stream | 81 | 5 | 80 | 80k+ | Direct Query | ||
| #2369 | SurveyX Builder – Easy Feedback, Poll, Quiz & Survey | 81 | 22 | 2k+ | Interpolated SQL is not prepared | |||
| #2370 | ShipStation for WooCommerce | 81 | 34 | 40k+ | Non-prefixed class | |||
| #2371 | BlogVault Backup & Staging | 82 | 53 | 22 | 80k+ | Missing direct file access protection | ||
| #2372 | Cloudways WordPress Migrator | 82 | 6 | 9 | 20k+ | Database parameter is not escaped | ||
| #2373 | ForumWP – Forum & Discussion Board | 82 | 22 | 444 | 800 | Non-prefixed global variable | ||
| #2374 | MalCare WordPress Security Plugin – Malware Scanner, Cleaner, Security Firewall | 82 | 55 | 22 | 200k+ | Missing direct file access protection | ||
| #2375 | Posts and Users Stats | 82 | 183 | 600 | Non-prefixed global variable | |||
| #2376 | Tasty Recipes Lite | 82 | 7 | 66 | 2k+ | Non-prefixed global variable | ||
| #2377 | Easy Booking – WooCommerce Booking & Reservation Plugin | 82 | 60 | 66 | 4k+ | Non-prefixed global variable | ||
| #2378 | Search Insights – Privacy-Friendly Search Analytics | 82 | 7 | 50 | 3k+ | Non-prefixed global variable | ||
| #2379 | The WP Remote WordPress Plugin | 82 | 51 | 24 | 30k+ | Missing direct file access protection | ||
| #2380 | Advanced Appointment Booking & Scheduling | 83 | 11 | 13 | 3k+ | Text Domain Mismatch | ||
| #2381 | PDF Generator for WordPress | 83 | 10 | 198 | 1k+ | Non-prefixed global variable | ||
| #2382 | Wbcom Designs – Birthday Widget for BuddyPress | 84 | 163 | 13 | 400 | Text Domain Mismatch | ||
| #2383 | WP All Import – Import Add-On for ACF | 84 | 3 | 46 | 50k+ | Non-prefixed global variable | ||
| #2384 | Floating Button – Easily Create Sticky, Fixed & Floating Buttons | 84 | 6 | 184 | 4k+ | Non-prefixed global variable | ||
| #2385 | Lightweight Cookie Notice – Cookie Banner for Cookie Consent | 84 | 8 | 18 | 5k+ | Database parameter is not escaped | ||
| #2386 | Popup builder with Gamification, Multi-Step Popups, Page-Level Targeting, and WooCommerce Triggers | 84 | 1 | 73 | 70k+ | Direct Query | ||
| #2387 | SearchIQ – The Search Solution | 84 | 7 | 18 | 1k+ | Database parameter is not escaped | ||
| #2388 | Username Changer | 84 | 37 | 13 | 40k+ | wp function not compatible with requires wp | ||
| #2389 | 404 to 301 – Redirect Manager, 404 Error Logs & Notifications | 85 | 24 | 100k+ | Database parameter is not escaped | |||
| #2390 | Auto Subpage Menu | 85 | 5 | 6 | 800 | Database parameter is not escaped | ||
| #2391 | GazChap's WooCommerce Auto Category Product Thumbnails | 85 | 4 | 8 | 1k+ | trademarked term | ||
| #2392 | No External Links | 85 | 7 | 26 | 5k+ | Database parameter is not escaped | ||
| #2393 | Power Captcha reCAPTCHA | 85 | 4 | 7 | 1k+ | Database parameter is not escaped | ||
| #2394 | Real Thumbnail Generator: Efficient regeneration of thumbnails in all sizes | 85 | 5 | 58 | 1k+ | Non-prefixed constant | ||
| #2395 | Save and Continue Link Recovery for Gravity Forms | 85 | 16 | 5 | 400 | Text Domain Mismatch | ||
| #2396 | Boxtal – Shipping solution | 86 | 3 | 92 | 9k+ | Non-prefixed global variable | ||
| #2397 | CBX User Online & Last Login | 86 | 3 | 87 | 800 | Non-prefixed global variable | ||
| #2398 | Counters Block – Animated Number Counters, Stats & Dynamic KPIs | 86 | 5 | 14 | 3k+ | Missing direct file access protection | ||
| #2399 | Helpful – Article Feedback Plugin | 86 | 8 | 17 | 600 | Database parameter is not escaped | ||
| #2400 | EP Exporter for Contact Form 7 (CF7) | 86 | 19 | 400 | Database parameter is not escaped |