Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify WP site with plugin, plain permalinks, classic theme
-
DeliverySend crafted HTTP request with malicious query vars
-
ExploitOverwrite arbitrary PHP global variables
-
ExecutionReach dynamic code path via classic theme
-
ImpactExecute arbitrary PHP code on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three concrete conditions drawn from the description: (1) the vulnerable Broken Link Checker plugin at a version before 2.4.12 must be installed and active; (2) the WordPress site must be configured with PLAIN permalinks (not the default pretty/rewrite permalinks) - this is what lets the unfiltered query variables reach the plugin; and (3) a CLASSIC, non-block theme must be active for the global-variable overwrite to escalate into arbitrary PHP code execution. No authentication is required (CVSS PR:N, unauthenticated) and no user interaction is needed (UI:N). Limiting factors: both plain permalinks and classic themes are non-default on many current WordPress installations, and the AC:H rating reflects that these specific configuration prerequisites must all be met; sites on pretty permalinks or block themes are not exploitable to RCE through this vector. |
| Impact | The signals are mixed and should be weighed together. CVSS is 9.0 (Critical) with an unauthenticated network vector (AV:N/PR:N/UI:N) and a scope change (S:C) reflecting the jump from plugin context to full server code execution - that drives the high score. However AC:H explicitly encodes meaningful preconditions: the site must use plain permalinks AND run a classic (non-block) theme, both of which are non-default for many modern WordPress installs (pretty permalinks and block themes like Twenty Twenty-Three/Four are common defaults). EPSS is low at 0.22% (13th percentile), and the CVE is NOT on CISA KEV, so there is no confirmed active exploitation. No public POC is referenced. SSVC-style reading: exploitation = none observed, automatable = partly (unauthenticated and network-reachable, but gated by configuration), technical impact = total (RCE). Net: this is a genuinely serious flaw worth prompt patching because it is unauthenticated RCE, but the AC:H configuration gates and low EPSS mean it is currently a patch-soon priority rather than an emergency drop-everything issue for sites not running the vulnerable configuration. The main uncertainty is prevalence of the required plain-permalink + classic-theme combination in the wild. |
| Exploit ScenarioDerived | An unauthenticated attacker identifies a WordPress site running Broken Link Checker (< 2.4.12) with plain permalinks and a classic theme, then sends a crafted HTTP request whose query variables overwrite PHP global state used by the plugin. By injecting attacker-controlled data into a dynamic code path exposed through the active classic theme, the attacker achieves arbitrary PHP execution on the server. No public POC is referenced at time of analysis, and the AC:H rating reflects the setup and configuration knowledge the attacker must satisfy. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Unauthenticated PHP object/global variable injection in the Broken Link Checker WordPress plugin before 2.4.12 allows attackers to overwrite arbitrary PHP global variables via unfiltered query variables on sites using plain permalinks, escalating to remote code execution when a classic (non-block) theme is active. The flaw is reachable by any unauthenticated visitor (CVSS 3.1 base 9.0, PR:N) but requires the AC:H preconditions of plain permalinks plus a classic theme, so it is not universally exploitable. No public exploit has been identified at time of analysis, and the EPSS probability is low (0.22%, 13th percentile), indicating no observed mass exploitation yet.
RemediationAI
Vendor-released patch: upgrade Broken Link Checker to version 2.4.12 or later, which limits the query variables the plugin will accept - this is the primary and recommended fix (see https://wpscan.com/vulnerability/a23b76eb-107d-4e02-8eae-c3c5fa5b003d/). If immediate patching is not possible, reduce exposure by switching the site away from plain permalinks to a pretty permalink structure (Settings > Permalinks), which removes a required precondition, though this can affect existing URLs and requires validating redirects. Switching from a classic (non-block) theme to a block theme also removes the RCE code path, but a theme change has significant visual and functional side effects and should be tested first. As an interim containment measure you can deactivate the Broken Link Checker plugin entirely (loses link-scanning functionality) or restrict/monitor unauthenticated request parameters at a WAF, blocking anomalous query variables targeting the plugin. Confirm any workaround in staging, since permalink and theme changes are broadly impactful.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Broken Link Checker is a popular WordPress plugin that scans post/page content for dead hyperlinks. The root cause is CWE-94 (Improper Control of Generation of Code / Code Injection) driven by the plugin accepting an unrestricted set of query variables from user input. On WordPress sites configured with 'plain' permalinks (the ?p=123 style rather than pretty rewrite rules), query variables map more directly into WordPress request handling, and the plugin fails to whitelist which variables it will process. This lets an attacker set arbitrary entries in PHP's global scope (variable overwrite, akin to a register_globals-style flaw). When a classic (non-block/legacy) theme is active, the tainted globals flow into a code path where attacker-controlled data reaches dynamic PHP execution, yielding server-side code execution. Only the EUVD/NVD CPE-style range is provided: Broken Link Checker versions from 0 up to (but not including) 2.4.12; no explicit CPE 2.3 URI string was supplied in the input.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Unauthenticated network RCE (PR:N/AV:N) but gated by non-default plain permalinks plus a classic theme (AC:H); RCE crossing plugin-to-server boundary yields S:C and full C/I/A impact.
Primary rating from Vendor (wpscan).
CVSS VectorVendor: wpscan
Lifecycle Timeline
3DescriptionCVE.org
The Broken Link Checker WordPress plugin before 2.4.12 does not limit which query variables it accepts from user input on sites using plain permalinks, allowing unauthenticated users to overwrite arbitrary PHP global variables, and to execute arbitrary code on the server when a classic (non-block) is active.
Articles & Coverage 1
Executive ViewAI
Broken Link Checker WordPress plugin versions before 2.4.12 contain a critical remote code execution vulnerability exploitable by unauthenticated attackers. While no public exploit has been identified at time of analysis, affected organizations face potential site compromise and data theft, particularly those using plain permalinks with classic themes. Patching to version 2.4.12 is required to eliminate this attack vector.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-62285
GHSA-c2xc-88v3-37g2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB