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 |
|---|---|---|---|---|---|---|---|---|
| #4051 | HSTS Ready | 85 | 3 | 11 | 3k+ | Input is not validated | ||
| #4052 | Jotform – AI Chatbot | 85 | 8 | 5k+ | Input is not validated | |||
| #4053 | MD5 Media Renamer | 85 | 8 | 19 | 400 | Non-prefixed global variable | ||
| #4054 | PlayerJS – Free Custom HTML5 Video and Audio Player Builder | 85 | 1 | 13 | 1k+ | Missing Version | ||
| #4055 | Remove Footer Credit | 85 | 7 | 31 | 70k+ | Non-prefixed global variable | ||
| #4056 | Social Share Button | 85 | 1 | 707 | 1k+ | Non-prefixed global variable | ||
| #4057 | Static 404 | 85 | 1 | 7 | 3k+ | Input is not sanitized | ||
| #4058 | StoreOne Extension | 85 | 68 | 7 | 400 | Text Domain Mismatch | ||
| #4059 | TinyMCE Color Picker | 85 | 2 | 7 | 1k+ | Input is not sanitized | ||
| #4060 | Widget CSS Classes | 85 | 47 | 8 | 80k+ | Non Singular String Literal Domain | ||
| #4061 | Catch Breadcrumb | 86 | 1 | 29 | 2k+ | Non-prefixed global variable | ||
| #4062 | Classic Editor + | 86 | 1 | 4 | 40k+ | Input is not sanitized | ||
| #4063 | Easy Demo Import for Omega Themes | 86 | 5 | 6 | 400 | Text Domain Mismatch | ||
| #4064 | Greenshift Smart Code AI | 86 | 9 | 9 | 1k+ | Request data is not unslashed | ||
| #4065 | Nice page transition | 86 | 4 | 12 | 1k+ | Direct Query | ||
| #4066 | Catch Infinite Scroll | 87 | 20 | 10k+ | Non-prefixed global variable | |||
| #4067 | Booking Engine by Lodgify | 87 | 5 | 15 | 700 | Non-prefixed global variable | ||
| #4068 | Manage/View Your Posts Only | 87 | 5 | 3 | 400 | Input is not sanitized | ||
| #4069 | Export Single Post Page | 87 | 3 | 6 | 2k+ | Nonce verification recommended | ||
| #4070 | Redirect 404 to Homepage | 88 | 4 | 4 | 70k+ | parse url parse url | ||
| #4071 | Add URL Slugs as Body Classes | 88 | 4 | 3 | 700 | Input is not sanitized | ||
| #4072 | Blogify-AI | 88 | 6 | 12 | 400 | Non-prefixed global variable | ||
| #4073 | Captcha by Yandex for Contact Form 7 | 88 | 9 | 12 | 3k+ | Text Domain Mismatch | ||
| #4074 | Catch IDs | 88 | 16 | 20k+ | Non-prefixed global variable | |||
| #4075 | Disable Registration Page | 88 | 4 | 6 | 400 | Text Domain Mismatch | ||
| #4076 | Organic Profile Block | 88 | 3 | 6 | 1k+ | Input is not validated | ||
| #4077 | ProScores – Live Scores | 88 | 12 | 4 | 800 | wp function not compatible with requires wp | ||
| #4078 | Regen. Thumbs | 88 | 3 | 3 | 400 | Input is not sanitized | ||
| #4079 | WPBakery Page Builder Simple All Responsive | 88 | 4 | 6 | 1k+ | Missing direct file access protection | ||
| #4080 | A Random Number | 89 | 3 | 5 | 800 | Non-prefixed function | ||
| #4081 | Animate on Scroll | 89 | 2 | 4 | 4k+ | Input is not validated | ||
| #4082 | Document Embedder Addons for Elementor – Embed Documents in Elementor Websites | 89 | 4 | 6k+ | Input is not validated | |||
| #4083 | Location Pack for WooCommerce | 89 | 14 | 800 | Non-prefixed global variable | |||
| #4084 | WP Featherlight Disabled | 89 | 5 | 11 | 2k+ | trademarked term | ||
| #4085 | Content Anchor Links | 90 | 6 | 5 | 1k+ | Non-prefixed hook name | ||
| #4086 | Fusion Page Builder : Extension – Button | 90 | 4 | 5 | 400 | Input is not validated | ||
| #4087 | Reading Position Indicator | 90 | 2 | 23 | 800 | Dynamic hook name | ||
| #4088 | Viva.com | Smart Checkout for WooCommerce | 90 | 1 | 30 | 6k+ | Direct Query | ||
| #4089 | WP Event Manager – Events Calendar, Registrations, Sell Tickets with WooCommerce | 90 | 20 | 20k+ | Non-prefixed function | |||
| #4090 | Ads.txt Manager | 92 | 4 | 4 | 100k+ | Missing direct file access protection | ||
| #4091 | Weaver Show Posts | 93 | 2 | 5k+ | Input is not sanitized | |||
| #4092 | Organic Widget Area Block | 94 | 5 | 4 | 800 | Text Domain Mismatch | ||
| #4093 | YLabs Connector for WPWriter | 94 | 5 | 8 | 800 | Forbidden PHP function found | ||
| #4094 | Paydibs Gateway for WooCommerce | 95 | 1 | 4 | 1k+ | Discouraged text-domain loading | ||
| #4095 | WPC Buy Now Button for WooCommerce | 95 | 18 | 10k+ | Non-prefixed class | |||
| #4096 | Mobile Call Buttons | 97 | 1 | 1 | 500 | Input is not validated |