WordPress.Security.NonceVerification.Missing
Missing nonce verification
A request handler uses request data without verifying that the request was intentionally created by WordPress.
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.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #751 | YMC Filter | 24 | 12 | 1,729 | 4k+ | Non-prefixed global variable | ||
| #752 | Jetpack CRM – Clients, Leads, Invoices, Billing, Email Marketing, & Automation | 24 | 1,211 | 3,152 | 30k+ | Non-prefixed global variable | ||
| #753 | 3DPrint Lite | 25 | 175 | 1,029 | 700 | Non-prefixed global variable | ||
| #754 | AdRotate Banner Manager | 25 | 1,363 | 846 | 20k+ | Unsafe printing function | ||
| #755 | AF Companion – Starter Sites, Speed Booster & Growth Suite for Professional Publishing | 25 | 665 | 1,486 | 10k+ | Non-prefixed global variable | ||
| #756 | Affiliates | 25 | 689 | 1,483 | 2k+ | Output is not escaped | ||
| #757 | FiboSearch – Ajax Search for WooCommerce | 25 | 603 | 302 | 100k+ | Output is not escaped | ||
| #758 | AliExpress Dropshipping Plugin for WooCommerce Stores | 25 | 550 | 728 | 5k+ | Text Domain Mismatch | ||
| #759 | AIO Forms – Craft Complex Forms Easily | 25 | 189 | 418 | 700 | Mixed line endings | ||
| #760 | Booking for Appointments and Events Calendar – Amelia | 25 | 1,487 | 480 | 90k+ | Exception output is not escaped | ||
| #761 | Appointment Booking Calendar | 25 | 327 | 1,055 | 1k+ | Non-prefixed global variable | ||
| #762 | Appointment Hour Booking – Booking Calendar | 25 | 262 | 1,253 | 10k+ | Non-prefixed global variable | ||
| #763 | ATUM WooCommerce Inventory Management and Stock Tracking | 25 | 2,638 | 1,304 | 10k+ | Non Singular String Literal Domain | ||
| #764 | bbp style pack | 25 | 1,419 | 1,791 | 6k+ | Output is not escaped | ||
| #765 | Beaver Builder Page Builder – Drag and Drop Website Builder | 25 | 4,463 | 1,819 | 100k+ | Text Domain Mismatch | ||
| #766 | Total Upkeep – WordPress Backup Plugin plus Restore & Migrate by BoldGrid | 25 | 243 | 854 | 50k+ | Non-prefixed global variable | ||
| #767 | Booking Activities | 25 | 1,036 | 1,469 | 3k+ | Output is not escaped | ||
| #768 | Booking and Rental Manager for Bike | Car | Resort | Appointment | Dress | Equipment | 25 | 260 | 1,561 | 1k+ | Non-prefixed global variable | ||
| #769 | Booking Calendar Contact Form | 25 | 371 | 884 | 500 | Input is not validated | ||
| #770 | Booking Package | 25 | 1,697 | 3,977 | 10k+ | Missing nonce verification | ||
| #771 | Bookit — Booking & Appointment Calendar | 25 | 565 | 1,458 | 4k+ | Non-prefixed global variable | ||
| #772 | Online Scheduling and Appointment Booking System – Bookly | 25 | 1,088 | 888 | 60k+ | SQL query is not prepared | ||
| #773 | Breeze Cache | 25 | 218 | 800 | 400k+ | Non-prefixed global variable | ||
| #774 | Broken Link Checker | 25 | 727 | 600 | 500k+ | Output is not escaped | ||
| #775 | BuddyPress Docs | 25 | 284 | 421 | 7k+ | Nonce verification recommended | ||
| #776 | Bulk Edit Categories and Tags – Create Thousands Quickly on the Editor | 25 | 1,041 | 1,016 | 4k+ | Text Domain Mismatch | ||
| #777 | Bulk Edit and Create User Profiles – WP Sheet Editor | 25 | 995 | 1,001 | 1k+ | Text Domain Mismatch | ||
| #778 | PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus | 25 | 362 | 1,586 | 100k+ | Non-prefixed global variable | ||
| #779 | GSheetConnector for CF7 – Connect Contact Form 7 to Google Sheets and Send Form Submissions in Real Time | 25 | 614 | 1,431 | 40k+ | Non-prefixed global variable | ||
| #780 | CheckoutWC Lite | 25 | 1,399 | 852 | 3k+ | Text Domain Mismatch | ||
| #781 | CheckView – Form & Checkout Testing | 25 | 66 | 337 | 1k+ | Direct Query | ||
| #782 | Colissimo shipping methods for WooCommerce | 25 | 1,755 | 557 | 10k+ | Text Domain Mismatch | ||
| #783 | Website Builder by SeedProd — Theme Builder, Landing Page Builder, Coming Soon Page, Maintenance Mode | 25 | 99 | 1,040 | 700k+ | Non-prefixed global variable | ||
| #784 | Disable Comments & Delete All Comments | 25 | 503 | 185 | 9k+ | Output is not escaped | ||
| #785 | Coinbase Business Gateway for WooCommerce | 25 | 569 | 1,317 | 800 | Non-prefixed global variable | ||
| #786 | Contact Form Email | 25 | 409 | 898 | 9k+ | Non-prefixed global variable | ||
| #787 | Coupon Creator | 25 | 698 | 412 | 1k+ | Output is not escaped | ||
| #788 | CP Contact Form with PayPal | 25 | 466 | 936 | 800 | Unsafe printing function | ||
| #789 | Cryptocurrency Payment Gateway | 25 | 1,963 | 589 | 400 | Text Domain Mismatch | ||
| #790 | CSS & JavaScript Toolbox | 25 | 155 | 617 | 10k+ | Non-prefixed class | ||
| #791 | Smash Balloon Social Post Feed – Simple Social Feeds for WordPress | 25 | 554 | 982 | 200k+ | Output is not escaped | ||
| #792 | DecaLog | 25 | 943 | 236 | 1k+ | Exception output is not escaped | ||
| #793 | Demo Importer Plus | 25 | 58 | 239 | 10k+ | Non-prefixed hook name | ||
| #794 | Disable Admin Notices – Hide Dashboard Notifications | 25 | 465 | 195 | 100k+ | Output is not escaped | ||
| #795 | Docket Cache – Object Cache Accelerator | 25 | 333 | 481 | 20k+ | Output is not escaped | ||
| #796 | ELEX WooCommerce Dynamic Pricing and Discounts | 25 | 478 | 748 | 800 | Text Domain Mismatch | ||
| #797 | WEB-Translation – eTranslation Multilingual | 25 | 217 | 1,057 | 400 | Non-prefixed function | ||
| #798 | Show Eventbrite Events – Event Feed for Eventbrite | 25 | 595 | 1,525 | 900 | Non-prefixed global variable | ||
| #799 | Event Genius – Event Management, Events Calendar, Registration, and RSVP | 25 | 181 | 1,579 | 500 | Non-prefixed global variable | ||
| #800 | Events Made Easy | 25 | 521 | 6,324 | 1k+ | Non-prefixed function |