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

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#1751CF7 Invisible reCAPTCHA4119527k+Missing Unslash
#1752Contact Form 7 Captcha41775100k+Missing Unslash
#1753Controlled Admin Access41224010k+Recommended
#1754Dashboard Notepad41293410k+Missing
#1755DevVN Local Store4184281k+Unsafe Printing Function
#1756Email Address Encoder411098100k+wp function not compatible with requires wp
#1757Flexible Posts Widget41136338k+Output Not Escaped
#1758Google Authenticator41396520k+Output Not Escaped
#1759(Simply) Guest Author Name4135362k+Output Not Escaped
#1760Import external attachments4118262k+Output Not Escaped
#1761Inpost Paczkomaty4135688k+Text Domain Mismatch
#1762Social Sharing Plugin – Kiwi4123804k+Non Prefixed Variable Found
#1763Central Color Palette41733310k+Output Not Escaped
#1764Lazy Load Optimizer4163263k+Unsafe Printing Function
#1765Lockdown WP Admin41205010k+Missing Unslash
#1766Magic Liquidizer Responsive Table41114386k+Text Domain Mismatch
#1767Mollie Forms41145653k+Missing Unslash
#1768Native Emoji4154375k+Unsafe Printing Function
#1769Social Login4181105k+Input Not Sanitized
#1770Omnibus — show the lowest price41353710k+Output Not Escaped
#1771Optimus – WordPress Image Optimizer41522030k+Unsafe Printing Function
#1772Pods – Custom Content Types and Fields415233100k+Direct Query
#1773Ally – Web Accessibility & Usability414735500k+Output Not Escaped
#1774Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News4153720k+Non Prefixed Variable Found
#1775Posts 2 Posts41427310k+Non Singular String Literal Domain
#1776Preload LCP Image41110314k+Unsafe Printing Function
#1777Product Expiry for WooCommerce4131852k+Missing Unslash
#1778Simple Product Options for WooCommerce4162413k+Output Not Escaped
#1779Variation Swatches for WooCommerce41291269k+Missing
#1780Responsive Gallery Grid4174144k+Output Not Escaped
#1781Responsive Lightbox41681010k+Output Not Escaped
#1782Revision Control41602840k+Output Not Escaped
#1783Revisionize4154244k+Output Not Escaped
#1784Simple 301 Redirects By BetterLinks – Easy WordPress Redirect Manager for Redirects, 404 Error Log & More414361100k+Missing Unslash
#1785Simple Like Page – Fast & Privacy-Friendly Page Embeds411453110k+Output Not Escaped
#1786Simple Lightbox412148100k+Recommended
#1787SiteSEO – SEO Simplified4120110500k+Recommended
#1788Squeeze – Image Optimization & Compression, WEBP Conversion4118712k+Recommended
#1789tarteaucitron.io41449210k+Output Not Escaped
#1790Text Hover4144131k+Output Not Escaped
#1791Text Replace4155123k+Output Not Escaped
#1792Advanced Editor Tools41143841m+Unsafe Printing Function
#1793Unbloater4157185k+Output Not Escaped
#1794WC Price History4118174k+Not Prepared
#1795Checkout Field Editor (Checkout Manager) for WooCommerce41988400k+Recommended
#1796Advanced Custom Stock Status4184339k+Output Not Escaped
#1797Pay for Payment for WooCommerce41296710k+Missing
#1798Spam Protect for Contact Form 741166110k+Missing Unslash
#1799WP Extended Search411593720k+Output Not Escaped
#1800Pledged Plugins PCI Gateway for NMI and WooCommerce41160423k+Text Domain Mismatch