WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
Input is not sanitized
Request data is used without being cleaned for the expected type or format.
Why It Shows Up
The scan found superglobal input flowing into code without a sanitizer such as `sanitize_text_field()`, `absint()`, `sanitize_key()`, `esc_url_raw()`, or a custom allowlist.
Why It Matters
Unsanitized input can pollute stored settings, alter logic, break queries, or become part of a later security issue.
How to Fix
- Unslash request data with `wp_unslash()` first.
- Choose the sanitizer for the expected value, such as `absint()` for IDs or `sanitize_key()` for keys.
- Use allowlists for actions, sort fields, file names, option names, and other constrained values.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1 | BulletProof Security | 0 | 5,048 | 4,949 | 20k+ | Output is not escaped | ||
| #2 | Intercom | 0 | 60 | 71 | 6k+ | Non-prefixed function | ||
| #3 | Live Shopping & Shoppable Videos For WooCommerce | 0 | 79 | 174 | 400 | Non-prefixed global variable | ||
| #4 | Plugin Check (PCP) | 0 | 128 | 140 | 10k+ | Non-prefixed global variable | ||
| #5 | Themify Builder | 9 | 5,389 | 2,245 | 5k+ | Text Domain Mismatch | ||
| #6 | JetBackup – Backup, Restore & Migrate | 10 | 1,567 | 156 | 200k+ | Exception output is not escaped | ||
| #7 | 404 Solution | 15 | 582 | 1,532 | 10k+ | Non-prefixed class | ||
| #8 | Easy WP SMTP – WordPress SMTP and Email Logs: Gmail SMTP, Office 365, Outlook, Custom SMTP, and more | 15 | 45 | 166 | 500k+ | Database parameter is not escaped | ||
| #9 | MDTF – Meta Data and Taxonomies Filter | 16 | 1,550 | 1,956 | 1k+ | Non-prefixed global variable | ||
| #10 | AnyComment | 17 | 445 | 449 | 5k+ | Output is not escaped | ||
| #11 | RestroPress – Online Food Ordering System | 17 | 536 | 3,236 | 1k+ | Non-prefixed global variable | ||
| #12 | Efí Bank | 17 | 886 | 553 | 300 | Exception output is not escaped | ||
| #13 | Shopping Cart & eCommerce Store | 17 | 7,453 | 17,866 | 3k+ | Non-prefixed global variable | ||
| #14 | WPtouch – Make your WordPress Website Mobile-Friendly | 17 | 1,466 | 325 | 50k+ | Text Domain Mismatch | ||
| #15 | Administrator Z | 18 | 2,061 | 799 | 400 | Output is not escaped | ||
| #16 | Advanced File Manager – Ultimate File Manager for WordPress And Document Library Solution | 18 | 1,229 | 923 | 100k+ | Exception output is not escaped | ||
| #17 | JetFormBuilder — Dynamic Blocks Form Builder | 18 | 2,180 | 1,629 | 80k+ | Text Domain Mismatch | ||
| #18 | Pagopar – WooCommerce Gateway | 18 | 530 | 1,215 | 400 | Non-prefixed global variable | ||
| #19 | WPPizza – A Restaurant Plugin | 18 | 4,689 | 2,703 | 1k+ | Text Domain Mismatch | ||
| #20 | GiveWP – Donation Plugin and Fundraising Platform | 19 | 3,422 | 3,570 | 100k+ | Output is not escaped | ||
| #21 | Go Fetch Jobs (for WP Job Manager) | 19 | 1,410 | 1,741 | 600 | Non-prefixed global variable | ||
| #22 | Leaflet Maps Marker (Google Maps, OpenStreetMap, Bing Maps) | 19 | 3,275 | 3,228 | 9k+ | Output is not escaped | ||
| #23 | Matomo Analytics – Powerful, Privacy-First Insights for WordPress | 19 | 1,993 | 892 | 100k+ | Exception output is not escaped | ||
| #24 | Netgsm | 19 | 352 | 348 | 1k+ | Non-prefixed global variable | ||
| #25 | Verified Reviews (Avis Vérifiés) | 19 | 671 | 1,136 | 700 | Non-prefixed global variable | ||
| #26 | Really Simple Security – Simple and Performant Security (formerly Really Simple SSL) | 19 | 530 | 375 | 3m+ | Missing Translators Comment | ||
| #27 | Scrollsequence – Cinematic Scroll Image Animation Plugin | 19 | 878 | 1,528 | 3k+ | Non-prefixed global variable | ||
| #28 | SendPress Newsletters | 19 | 2,293 | 1,422 | 1k+ | Output is not escaped | ||
| #29 | SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments | 19 | 543 | 1,150 | 80k+ | Non-prefixed global variable | ||
| #30 | Pixel Manager for WooCommerce – Conversion Tracking, Google Ads, GA4, TikTok, Dynamic Remarketing | 19 | 63 | 246 | 40k+ | Non-prefixed hook name | ||
| #31 | WP Email Template | 19 | 344 | 345 | 2k+ | Exception output is not escaped | ||
| #32 | WPOSS阿里云对象存储 | 19 | 269 | 315 | 900 | Non-prefixed namespace | ||
| #33 | WPQiNiu七牛云对象存储 | 19 | 138 | 612 | 400 | Non-prefixed global variable | ||
| #34 | AweBooking – Hotel Booking System | 20 | 309 | 514 | 1k+ | Non-prefixed global variable | ||
| #35 | Brizy – Page Builder | 20 | 585 | 726 | 60k+ | Output is not escaped | ||
| #36 | Broadstreet | 20 | 434 | 273 | 800 | Output is not escaped | ||
| #37 | Post Form – Registration Form – Profile Form for User Profiles – Frontend Content Forms for User Submissions (UGC) | 20 | 736 | 2,112 | 900 | Non-prefixed global variable | ||
| #38 | Cost Calculator Builder | 20 | 323 | 766 | 20k+ | Non-prefixed global variable | ||
| #39 | SysBasics Customize My Account for WooCommerce – Live My Account Customizer | 20 | 743 | 911 | 7k+ | Non-prefixed global variable | ||
| #40 | Download Monitor | 20 | 420 | 1,242 | 80k+ | Non-prefixed hook name | ||
| #41 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 20 | 2,878 | 1,988 | 1m+ | Non-prefixed global variable | ||
| #42 | Event Organiser | 20 | 1,104 | 544 | 20k+ | Text Domain Mismatch | ||
| #43 | EventPrime – Events Calendar, Bookings, Tickets & AI | 20 | 846 | 4,224 | 7k+ | Non-prefixed global variable | ||
| #44 | GoUrl Bitcoin Payment Gateway & Paid Downloads & Membership | 20 | 1,832 | 720 | 700 | Non Singular String Literal Domain | ||
| #45 | MBE eShip | 20 | 527 | 740 | 1k+ | Non-prefixed global variable | ||
| #46 | Brevo – Email, SMS, Web Push, Chat, and more. | 20 | 460 | 646 | 100k+ | Request data is not unslashed | ||
| #47 | MAS Videos | 20 | 519 | 1,693 | 1k+ | Non-prefixed global variable | ||
| #48 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | Non-prefixed global variable | ||
| #49 | Nimble Page Builder | 20 | 1,591 | 1,684 | 30k+ | Missing Arg Domain | ||
| #50 | Shipping for Nova Poshta | 20 | 598 | 923 | 400 | Output is not escaped |