WordPress.Security.NonceVerification.Missing

Missing nonce verification

A request handler uses request data without verifying that the request was intentionally created by WordPress.

critical weight

Why It Shows Up

The scan found `$_GET`, `$_POST`, or similar request data in a context where a nonce check is expected but missing.

Why It Matters

Without nonce verification, an attacker may be able to trick a logged-in user into submitting an unwanted state-changing request.

How to Fix

  • Add a nonce to the form, link, AJAX request, or REST request.
  • Verify it with `check_admin_referer()`, `check_ajax_referer()`, or `wp_verify_nonce()` before changing state.
  • Keep capability checks separate; nonces prove intent, not permission.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#601Event Booking Manager for WooCommerce – Registration, RSVP, Calendar & Tickets249692,1407k+Non-prefixed global variable
#602Generate Images (AI) – Magic Post Thumbnail241,9401,7616k+Non-prefixed global variable
#603Mailchimp for WooCommerce24523663200k+Non-prefixed global variable
#604MailerPress – Newsletter, email marketing & AI automation248053,9311k+Direct Query
#605Mailjet Email Marketing2443520610k+Unsafe printing function
#606Mang Board WP241,2134,7209k+Non-prefixed global variable
#607Admin Tweaks241,507206900Text Domain Mismatch
#608Marketing Automation24440677600Non-prefixed global variable
#609Media Library Folders2488980710k+Text Domain Mismatch
#610Min and Max Quantity for WooCommerce2460345920k+Text Domain Mismatch
#611Timetable and Event Schedule by MotoPress2445623230k+Output is not escaped
#612MT Addons for Elementor243,0731,4422k+Text Domain Mismatch
#613MxChat – AI Chatbot & Content Generation for WordPress243,2301,4052k+Text Domain Mismatch
#614My WP Customize Admin/Frontend241,2492928k+Unsafe printing function
#615My Agile Privacy® – CMP, Cookie Consent & Privacy Tools241,1706747k+Text Domain Mismatch
#616Newsletter – Send awesome emails from WordPress248982,217200k+Non-prefixed global variable
#617Newsletter Subscription Form – User Subscriptions Form, Capture Email243858291k+Non-prefixed global variable
#618NEX-Forms – Ultimate Forms Plugin for WordPress242,0081,1956k+Text Domain Mismatch
#619Ninja Forms – The Contact Form Builder That Grows With You247491,533600k+Nonce verification recommended
#620NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar2426740440k+Non-prefixed hook name
#621Omnipress24169245800Non-prefixed global variable
#622Opt-Out for Google Analytics (DSGVO / GDPR)242901,9783k+Non-prefixed global variable
#623Pagar.me para WooCommerce245491165k+Text Domain Mismatch
#624Page Builder: Pagelayer – Drag and Drop website builder24769556400k+Output is not escaped
#625Pagination Styler for WooCommerce247994481k+Output is not escaped
#626Participants Database249518947k+SQL query is not prepared
#627Paymob for WooCommerce243482885k+Text Domain Mismatch
#628PDF for Gravity Forms + Drag And Drop Template Builder241,457260400wp function not compatible with requires wp
#629PeproDev Ultimate Invoice243792344k+Output is not escaped
#630Database Manager – WP Adminer241,0052,75220k+Non-prefixed global variable
#631PixelYourSite – Your smart PIXEL (TAG) & API Manager241,1762,416500k+Non-prefixed namespace
#632Post Slider and Post Carousel with Post Vertical Scrolling Widget – A Responsive Post Slider245991,53210k+Non-prefixed global variable
#633Post Status Notifier Lite24984451700Missing direct file access protection
#634Product Catalog Simple241,5551,9821k+Output is not escaped
#635Post Affiliate Pro24293335500Nonce verification recommended
#636Premium Blocks – Gutenberg Blocks, Patterns & Templates241403082k+Non-prefixed function
#637Premmerce Brands for WooCommerce247001,3442k+Non-prefixed global variable
#638Product Editor Pro – WooCommerce Bulk Edit: Prices, Stock, Images, Titles, CSV Import & More242,1544,8331k+Non-prefixed global variable
#639Product Tabs Manager for WooCommerce246344822k+Text Domain Mismatch
#640Product Watermark for WooCommerce246854592k+Text Domain Mismatch
#641Products Compare for WooCommerce241,0226951k+Output is not escaped
#642ProfileGrid – User Profiles, Groups and Communities244832,4615k+Non-prefixed global variable
#643Co-Authors, Multiple Authors and Guest Authors in an Author Box with PublishPress Authors2436982020k+Nonce verification recommended
#644PickPlugins Question Answer24321,413400Non-prefixed global variable
#645Quick Event Manager241523881k+Non-prefixed function
#646Quiz and Survey Master (QSM) – Easy Quiz and Survey Maker244072,58740k+Non-prefixed hook name
#647reGenerate Thumbnails Advanced2422012270k+Unsafe printing function
#648Registrations for the Events Calendar – Event Registration Plugin244049447k+Non-prefixed global variable
#649RS WP Book Showcase – A Complete Book Catalogue & Library System249103431k+Text Domain Mismatch
#650RSFirewall!245635214k+Output is not escaped