WordPress.Security.NonceVerification.Recommended
Nonce verification recommended
The code reads request data in a place where Plugin Check recommends a nonce check.
Why It Shows Up
The scan saw request handling that may not always mutate state, but still looks like a user-triggered action that should usually be protected by a nonce.
Why It Matters
Adding a nonce reduces accidental or forged requests and documents that the action is expected to originate from the plugin UI.
How to Fix
- For admin forms and action links, add and verify a nonce.
- For AJAX handlers, use `check_ajax_referer()`.
- For public read-only endpoints, document why a nonce is not required and keep input validation strict.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #2251 | Theme Blvd Layout Builder | 35 | 207 | 169 | 2k+ | Output is not escaped | ||
| #2252 | ThemeRain Core | 35 | 69 | 61 | 1k+ | Text Domain Mismatch | ||
| #2253 | Thumbnail Editor | 35 | 187 | 68 | 600 | wp function not compatible with requires wp | ||
| #2254 | TikTok | 35 | 31 | 22 | 200k+ | Missing Arg Domain | ||
| #2255 | TinyMCE Templates | 35 | 41 | 27 | 20k+ | Text Domain Mismatch | ||
| #2256 | Transcoder | 35 | 42 | 111 | 400 | Non-prefixed function | ||
| #2257 | Two Factor Authentication | 35 | 108 | 139 | 20k+ | Output is not escaped | ||
| #2258 | Ultimate Post List | 35 | 186 | 84 | 2k+ | Missing Arg Domain | ||
| #2259 | Uptime Robot Plugin for WordPress | 35 | 398 | 324 | 600 | Text Domain Mismatch | ||
| #2260 | UTM for Woocommerce | 35 | 14 | 4 | 800 | Output is not escaped | ||
| #2261 | Embed videos and respect privacy | 35 | 6 | 11 | 2k+ | Non-prefixed global variable | ||
| #2262 | Video Grid | 35 | 253 | 106 | 1k+ | Output is not escaped | ||
| #2263 | Video Gallery | 35 | 336 | 178 | 600 | Output is not escaped | ||
| #2264 | Void Elementor Post Grid Addon for Elementor Page builder | 35 | 189 | 93 | 3k+ | Text Domain Mismatch | ||
| #2265 | Voyapp Chile – Lugares y Cotizador de Despachos | 35 | 225 | 84 | 400 | Output is not escaped | ||
| #2266 | WC Cancel Order | 35 | 52 | 122 | 5k+ | Non-prefixed hook name | ||
| #2267 | Deliver via Shipos for WooCommerce | 35 | 11 | 78 | 600 | Nonce verification recommended | ||
| #2268 | ShipStation Live Rates for WooCommerce | 35 | 402 | 73 | 900 | Non Singular String Literal Domain | ||
| #2269 | Spreadconnect | 35 | 128 | 126 | 700 | Output is not escaped | ||
| #2270 | WC Ukraine Shipping – Integration of Nova Poshta and Ukrposhta for WooCommerce | 35 | 504 | 164 | 7k+ | Text Domain Mismatch | ||
| #2271 | Product Attributes Shortcode | 35 | 3 | 4 | 700 | Nonce verification recommended | ||
| #2272 | Webflow Pages | 35 | 36 | 63 | 2k+ | Non Singular String Literal Domain | ||
| #2273 | WEDOS OnLine monitoring | 35 | 36 | 15 | 700 | Output is not escaped | ||
| #2274 | wePOS – Point Of Sale (POS) for WooCommerce & Dokan | 35 | 47 | 66 | 2k+ | Output is not escaped | ||
| #2275 | What The File | 35 | 9 | 12 | 40k+ | Input is not sanitized | ||
| #2276 | Wild Apricot Login | 35 | 88 | 30 | 800 | Non Singular String Literal Domain | ||
| #2277 | Wired Impact Volunteer Management | 35 | 253 | 175 | 1k+ | Output is not escaped | ||
| #2278 | Open Graph and Twitter Card Tags | 35 | 15 | 27 | 50k+ | error log error log | ||
| #2279 | ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce | 35 | 51 | 344 | 10k+ | Request data is not unslashed | ||
| #2280 | Asaas Gateway for WooCommerce | 35 | 12 | 109 | 8k+ | Non-prefixed global variable | ||
| #2281 | CardCom Payment Gateway | 35 | 201 | 84 | 3k+ | Text Domain Mismatch | ||
| #2282 | Sola Payment Gateway for WooCommerce | 35 | 107 | 116 | 700 | Missing Translators Comment | ||
| #2283 | WP Courseware for WooCommerce | 35 | 55 | 49 | 1k+ | Text Domain Mismatch | ||
| #2284 | Backend Payments for WooCommerce | 35 | 63 | 42 | 900 | Exception output is not escaped | ||
| #2285 | DPD Baltic Shipping | 35 | 91 | 202 | 2k+ | Text Domain Mismatch | ||
| #2286 | Checkout Terms Conditions Popup for WooCommerce | 35 | 76 | 30 | 1k+ | Output is not escaped | ||
| #2287 | Conversion Tracking for WooCommerce | 35 | 74 | 61 | 20k+ | Output is not escaped | ||
| #2288 | Japanized for WooCommerce | 35 | 6 | 68 | 10k+ | Non-prefixed class | ||
| #2289 | WooCommerce Gateway Affirm | 35 | 2 | 58 | 6k+ | Nonce verification recommended | ||
| #2290 | Pixel Manager for WooCommerce – Conversion Tracking, Google Ads, GA4, TikTok, Dynamic Remarketing | 35 | 50 | 236 | 50k+ | Non-prefixed hook name | ||
| #2291 | Payment Gateway for PayPal Pro & PayPal Checkout for WooCommerce | 35 | 67 | 147 | 1k+ | Request data is not unslashed | ||
| #2292 | Invoices for WooCommerce | 35 | 55 | 168 | 10k+ | Non-prefixed global variable | ||
| #2293 | Product Tabs for WooCommerce | 35 | 196 | 100 | 10k+ | Text Domain Mismatch | ||
| #2294 | Quaderno: Global Tax & Invoicing Automation for WooCommerce | 35 | 4 | 70 | 500 | Missing nonce verification | ||
| #2295 | Brevo for WooCommerce | 35 | 116 | 67 | 30k+ | Output is not escaped | ||
| #2296 | Kybernaut IČO DIČ | 35 | 79 | 68 | 2k+ | Missing nonce verification | ||
| #2297 | Wooplatnica | 35 | 27 | 24 | 400 | Non-prefixed class | ||
| #2298 | Easy Accept Payments via PayPal | 35 | 322 | 128 | 7k+ | Text Domain Mismatch | ||
| #2299 | Access Areas for WordPress | 35 | 17 | 95 | 400 | Direct Query | ||
| #2300 | WP Associate Post R2 | 35 | 259 | 86 | 3k+ | Output is not escaped |