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 |
|---|---|---|---|---|---|---|---|---|
| #1851 | Pastacode | 33 | 77 | 66 | 400 | Non-prefixed global variable | ||
| #1852 | Payflex Payment Gateway | 33 | 181 | 61 | 1k+ | Text Domain Mismatch | ||
| #1853 | Payoneer Checkout | 33 | 168 | 45 | 5k+ | Exception output is not escaped | ||
| #1854 | PeproDev WooCommerce Receipt Uploader | 33 | 325 | 49 | 1k+ | Non Singular String Literal Domain | ||
| #1855 | PiWeb Delivery & Pickup Date Time for WooCommerce | 33 | 397 | 185 | 500 | Text Domain Mismatch | ||
| #1856 | پینوا | Pinova | 33 | 171 | 75 | 600 | Output is not escaped | ||
| #1857 | Plugin Organizer | 33 | 325 | 257 | 10k+ | Output is not escaped | ||
| #1858 | FancyPost – Post Blocks, Grids & Sliders for Block Editor and Elementor | 33 | 356 | 271 | 500 | Output is not escaped | ||
| #1859 | Post Lists View Custom | 33 | 462 | 150 | 2k+ | Missing Arg Domain | ||
| #1860 | PublishPress Checklists: Pre-Publishing Approval Checklist – Validate Post Requirements | 33 | 140 | 182 | 3k+ | Missing Translators Comment | ||
| #1861 | QNAP NAS Backup | 33 | 374 | 70 | 2k+ | Non Singular String Literal Domain | ||
| #1862 | Quick Restaurant Reservations | 33 | 654 | 179 | 500 | Text Domain Mismatch | ||
| #1863 | Frisbii Pay | 33 | 91 | 292 | 1k+ | Non-prefixed global variable | ||
| #1864 | Rename wp-login.php to anything you want | 33 | 251 | 117 | 500 | Output is not escaped | ||
| #1865 | Review Slider for WooCommerce | 33 | 160 | 422 | 400 | Non-prefixed global variable | ||
| #1866 | Reviews Plus | 33 | 223 | 378 | 1k+ | Non-prefixed function | ||
| #1867 | RTMKit | 33 | 11 | 388 | 50k+ | Non-prefixed global variable | ||
| #1868 | RSS Feed Pro | 33 | 484 | 16 | 500 | Output is not escaped | ||
| #1869 | Live Sales Notification (Recent Sales Popups) | 33 | 114 | 120 | 400 | SQL query is not prepared | ||
| #1870 | Save as PDF Plugin by PDFCrowd | 33 | 299 | 254 | 1k+ | Non-prefixed global variable | ||
| #1871 | Schema & Structured Data for WP & AMP | 33 | 63 | 246 | 100k+ | Non-prefixed global variable | ||
| #1872 | Service Box – Icon Box Showcase | 33 | 385 | 230 | 3k+ | Non Singular String Literal Domain | ||
| #1873 | Sessions | 33 | 196 | 103 | 900 | Output is not escaped | ||
| #1874 | ShopPress – Shop Builder for Elementor and WooCommerce | 33 | 11 | 879 | 500 | Non-prefixed global variable | ||
| #1875 | TaxCloud for WooCommerce | 33 | 23 | 261 | 500 | Non-prefixed function | ||
| #1876 | SMTP2GO for WordPress – Email Made Easy | 33 | 186 | 111 | 30k+ | Output is not escaped | ||
| #1877 | Social Rocket – Social Sharing Plugin | 33 | 1,016 | 255 | 1k+ | Unsafe printing function | ||
| #1878 | Spiffy Calendar | 33 | 473 | 243 | 3k+ | Output is not escaped | ||
| #1879 | Spin Wheel – Interactive spinning wheel that offers coupons | 33 | 680 | 313 | 400 | Unsafe printing function | ||
| #1880 | Split Test For Elementor | 33 | 98 | 134 | 3k+ | Non-prefixed global variable | ||
| #1881 | Simple Sticky Add To Cart For WooCommerce | 33 | 401 | 70 | 900 | Text Domain Mismatch | ||
| #1882 | Gravity Booster – Styles & Layouts for Gravity Forms | 33 | 277 | 87 | 40k+ | Missing Arg Domain | ||
| #1883 | Sublanguage | 33 | 266 | 287 | 700 | Output is not escaped | ||
| #1884 | Telegram Bot & Channel | 33 | 182 | 113 | 600 | Unsafe printing function | ||
| #1885 | Testimonial Slider – Free Testimonials Slider Plugin | 33 | 91 | 50 | 700 | Request data is not unslashed | ||
| #1886 | Envato Toolkit | 33 | 219 | 69 | 5k+ | Output is not escaped | ||
| #1887 | TP Education | 33 | 186 | 303 | 800 | Unsafe printing function | ||
| #1888 | TrackingMore Order Tracking for WooCommerce (Free plan available) | 33 | 94 | 124 | 700 | Text Domain Mismatch | ||
| #1889 | WP Twitter Auto Publish | 33 | 442 | 171 | 4k+ | Output is not escaped | ||
| #1890 | Uix Shortcodes | 33 | 246 | 444 | 400 | Non-prefixed global variable | ||
| #1891 | Display Posts As List, Grid, Thumbs | 33 | 442 | 241 | 900 | Output is not escaped | ||
| #1892 | Variation Swatches for WooCommerce | 33 | 469 | 116 | 50k+ | Text Domain Mismatch | ||
| #1893 | Multi-Carrier EasyPost Shipping Methods & Address Validation for WooCommerce | 33 | 424 | 69 | 400 | Non Singular String Literal Domain | ||
| #1894 | Multi-Carrier Shippo Shipping Rates & Address Validation for WooCommerce | 33 | 411 | 73 | 3k+ | Non Singular String Literal Domain | ||
| #1895 | Webmention | 33 | 64 | 89 | 900 | Output is not escaped | ||
| #1896 | Website Monetization by MageNet | 33 | 60 | 87 | 20k+ | Output is not escaped | ||
| #1897 | Textmetrics | 33 | 324 | 163 | 400 | Output is not escaped | ||
| #1898 | White Label CMS | 33 | 412 | 202 | 200k+ | Unsafe printing function | ||
| #1899 | Rich Showcase for Google Reviews | 33 | 212 | 278 | 100k+ | Output is not escaped | ||
| #1900 | Wonder Slider Lite | 33 | 273 | 187 | 8k+ | Output is not escaped |