WordPress.Security.ValidatedSanitizedInput.InputNotValidated
Input is not validated
Request data is used without checking that it is allowed for the operation.
Why It Shows Up
The scan found input from a request superglobal being used without validation such as capability checks, allowlists, type checks, or range checks.
Why It Matters
Sanitization cleans a value, but validation proves the value is acceptable. Missing validation can allow unexpected actions, invalid states, or unsafe query choices.
How to Fix
- Check that IDs are positive integers, enum-like values are in an allowlist, and URLs or file paths are constrained.
- Pair state-changing requests with nonce and capability checks.
- Reject or safely default values that do not pass validation.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1901 | Payments via PayMongo for WooCommerce | 36 | 39 | 81 | 1k+ | Nonce verification recommended | ||
| #1902 | WC Pickup Store | 36 | 245 | 52 | 2k+ | Output is not escaped | ||
| #1903 | Quantity Plus Minus Button for WooCommerce | 36 | 83 | 84 | 10k+ | Output is not escaped | ||
| #1904 | Shipping with Venipak for WooCommerce | 36 | 239 | 61 | 1k+ | Text Domain Mismatch | ||
| #1905 | AWPLife Weather Effects | 36 | 19 | 698 | 4k+ | Non-prefixed global variable | ||
| #1906 | When Last Login | 36 | 52 | 123 | 50k+ | Non-prefixed global variable | ||
| #1907 | Disable Payment Methods based on cart conditions for WooCommerce | 36 | 158 | 57 | 1k+ | Non Singular String Literal Domain | ||
| #1908 | Guaranteed Reviews Company (Société des Avis Garantis) | 36 | 369 | 197 | 1k+ | Output is not escaped | ||
| #1909 | SuperFaktura WooCommerce | 36 | 60 | 115 | 2k+ | Nonce verification recommended | ||
| #1910 | Hide admin notices – Admin Notification Center | 36 | 114 | 67 | 8k+ | Output is not escaped | ||
| #1911 | WP Better Permalinks | 36 | 110 | 59 | 1k+ | Output is not escaped | ||
| #1912 | Export Themes | 36 | 122 | 90 | 2k+ | Non-prefixed constant | ||
| #1913 | WP Coder – Insert & Manage Code Snippets | 36 | 53 | 280 | 10k+ | Nonce verification recommended | ||
| #1914 | WP Counter | 36 | 86 | 43 | 800 | Output is not escaped | ||
| #1915 | WP-EMail | 36 | 340 | 95 | 1k+ | Unsafe printing function | ||
| #1916 | WP Header Images | 36 | 174 | 133 | 6k+ | Unsafe printing function | ||
| #1917 | Payment Button for PayPal | 36 | 155 | 86 | 4k+ | Unsafe printing function | ||
| #1918 | WP Responsive Menu | 36 | 296 | 144 | 30k+ | Text Domain Mismatch | ||
| #1919 | WP Hardening (discontinued) | 36 | 230 | 85 | 10k+ | Text Domain Mismatch | ||
| #1920 | WP Show Posts | 36 | 107 | 102 | 70k+ | Output is not escaped | ||
| #1921 | WP Socializer – Simple & Easy Social Media Share Icons | 36 | 214 | 51 | 10k+ | Output is not escaped | ||
| #1922 | WP Sort Order | 36 | 134 | 211 | 6k+ | Direct Query | ||
| #1923 | WP Stripe Checkout | 36 | 198 | 118 | 1k+ | Unsafe printing function | ||
| #1924 | WP Super Edit | 36 | 35 | 185 | 2k+ | Nonce verification recommended | ||
| #1925 | Yandex.Metrica | 36 | 76 | 30 | 60k+ | Output is not escaped | ||
| #1926 | WP fail2ban Blocklist | 36 | 61 | 63 | 3k+ | SQL query is not prepared | ||
| #1927 | WPLMS H5P | 36 | 111 | 106 | 1k+ | Text Domain Mismatch | ||
| #1928 | Wppao Sitemap | 36 | 128 | 21 | 9k+ | Output is not escaped | ||
| #1929 | Visual CSS Style Editor | 36 | 283 | 233 | 40k+ | Output is not escaped | ||
| #1930 | Custom Product Tabs for WooCommerce | 36 | 87 | 81 | 80k+ | Output is not escaped | ||
| #1931 | Zarinpal Gateway | 36 | 151 | 55 | 50k+ | Non Singular String Literal Domain | ||
| #1932 | 360 Javascript Viewer | 37 | 144 | 22 | 1k+ | Output is not escaped | ||
| #1933 | Redirectioner | 37 | 234 | 410 | 1k+ | Output is not escaped | ||
| #1934 | Adapta RGPD | 37 | 349 | 72 | 40k+ | Text Domain Mismatch | ||
| #1935 | Adaptive Images for WordPress | 37 | 51 | 75 | 3k+ | Output is not escaped | ||
| #1936 | Add From Server | 37 | 52 | 20 | 60k+ | Output is not escaped | ||
| #1937 | AddToAny Share Buttons | 37 | 123 | 164 | 300k+ | Unsafe printing function | ||
| #1938 | Add to Cart Redirect for WooCommerce | 37 | 215 | 141 | 8k+ | Text Domain Mismatch | ||
| #1939 | Advanced Media Offloader | 37 | 59 | 93 | 5k+ | error log error log | ||
| #1940 | Agreeable | 37 | 40 | 67 | 800 | Unsafe printing function | ||
| #1941 | Analytics Spam Blocker | 37 | 76 | 22 | 800 | Unsafe printing function | ||
| #1942 | Antom Payments | 37 | 60 | 68 | 800 | badly named files | ||
| #1943 | All-in-one Chat Button by anychat.one | 37 | 119 | 69 | 900 | Text Domain Mismatch | ||
| #1944 | Anything Popup | 37 | 164 | 185 | 2k+ | Non-prefixed global variable | ||
| #1945 | Apaczka: integracja z WooCommerce | 37 | 8 | 316 | 3k+ | Non-prefixed global variable | ||
| #1946 | Async JavaScript | 37 | 357 | 79 | 70k+ | Unsafe printing function | ||
| #1947 | avalex – Automatisch sichere Rechtstexte | 37 | 25 | 85 | 1k+ | Direct Query | ||
| #1948 | Custom Thank You Page Customize For WooCommerce by Binary Carpenter | 37 | 45 | 80 | 2k+ | error log error log | ||
| #1949 | Before After Image Comparison Slider for Elementor | 37 | 90 | 41 | 10k+ | Text Domain Mismatch | ||
| #1950 | Better Click To Share – Shareable Quote Boxes for X (Twitter) | 37 | 170 | 59 | 6k+ | Unsafe printing function |