Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit comment with shortcode in href/src attribute
-
DeliveryComment approved via normal moderation
-
ExploitPlugin parses stored link via WP-Cron
-
Executiondo_shortcode executes payload
-
ImpactArbitrary shortcode runs on site
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 that the attacker submit a comment whose href or src attribute contains a WordPress shortcode payload, AND that this comment be approved through the site's normal comment moderation workflow by a moderator; only after approval does the plugin's link parser (html_link.php / image.php) pass the value to do_shortcode via a scheduled WP-Cron scan, executing the shortcode with no further attacker interaction. The decisive limiting factor is the required moderator approval - on sites with manual comment moderation or strict spam filtering, the malicious comment may never be approved, blocking the chain entirely. Impact is further bounded by which shortcodes are registered on the target site. No authentication is needed to submit the comment itself. |
| Impact | The CVSS v3.1 base score of 6.5 (AV:N/AC:L/PR:N/UI:N) frames this as a network-reachable, unauthenticated, low-complexity issue, but that vector understates the real precondition: the description makes clear that exploitation only succeeds after a submitted comment containing the shortcode payload is approved through the site's normal moderation workflow. That approval is a human gate performed by a privileged moderator, which in practice behaves like required user interaction and sharply lowers real-world likelihood versus a true pre-auth RCE. No EPSS score was supplied and the input contains no KEV or POC signal, so exploitation status is 'no public exploit identified at time of analysis.' There is a signal conflict worth flagging: the CVSS vector encodes UI:N, yet the description explicitly requires a moderator to approve the malicious comment - the published vector appears to not credit that moderation step as user interaction, so defenders should treat the effective risk as lower than UI:N implies. Impact is also bounded (C:L/I:L/A:N) because this is arbitrary WordPress shortcode execution, not native code execution; actual severity depends on which shortcodes are registered on the target. Net: a genuine but conditional, low-privilege injection flaw in widely-deployed software - worth patching promptly, but not an internet-wide mass-exploitation emergency absent a POC. |
| Exploit ScenarioDerived | An unauthenticated attacker posts a blog comment in which the href or src attribute carries a WordPress shortcode payload. A site moderator later approves the comment as part of normal moderation; the Broken Link Checker plugin then scans the stored link and, via WP-Cron, passes the unvalidated attribute value to do_shortcode, executing the attacker's shortcode automatically with no further attacker action. No public exploit code was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Arbitrary shortcode execution in the WordPress Broken Link Checker plugin (all versions up to and including 2.4.14.1) allows an unauthenticated commenter to embed a shortcode payload in a comment's href or src attribute; once that comment is approved through the site's normal moderation workflow, the plugin's link parser passes the value to do_shortcode during a scheduled WP-Cron scan, executing the shortcode with no further attacker interaction. The published CVSS v3.1 base score is 6.5 (AV:N/AC:L/PR:N/UI:N), but the practical vector carries a user-interaction precondition (UI:R) because moderator approval is required, and impact is bounded by which shortcodes are registered on the target site. No public exploit code has been identified at time of analysis.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The fix is referenced in the plugin's Trac changeset 3740705 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3740705%40broken-link-checker&new=3740705%40broken-link-checker), and administrators should update to the latest Broken Link Checker release from the WordPress plugin repository. Until patched, enforce strict manual approval for all comments and reject or sanitize any comment whose href or src attribute contains a shortcode; note that once a comment is approved, exploitation proceeds automatically, so moderation must catch the payload before approval rather than after. Additionally, restrict or remove shortcodes that can include files or execute PHP to limit the impact of any successful execution, and consider temporarily disabling the plugin's WP-Cron link-scanning job with the trade-off that broken-link detection stops. The Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/04cc4b99-8c27-4f95-b860-608c01af843b?source=cve) should be consulted for updates.
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
The vulnerability is a CWE-94 code injection in the WordPress Broken Link Checker plugin (CPE cpe:2.3:a:wpmudev:broken_link_checker:*:*:*:*:*:*:*:*). The plugin's legacy link parsers - legacy/modules/parsers/html_link.php (line 72) and legacy/modules/parsers/image.php (line 66) - extract the href or src attribute from user-submitted comment content and pass the raw value to WordPress's do_shortcode() function without validating that the value is a safe URL rather than a shortcode payload. The comment container logic in legacy/modules/containers/comment.php (line 229) and legacy/includes/containers.php (line 298) handles those values, and a WP-Cron job later scans the stored link and triggers do_shortcode() automatically. Because do_shortcode() evaluates any registered shortcode, an attacker can invoke shortcodes such as ones that include files, query the database, or execute PHP, depending on which shortcodes the site has active. Exploitation therefore requires that the malicious comment be approved by a moderator, after which no further attacker interaction is needed.
Know when Broken Link Checker 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:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Comment submission needs no privileges (PR:N), but a moderator must approve the comment to trigger execution, which is user interaction (UI:R); impact is limited shortcode execution, so C:L/I:L/A:N.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The The Broken Link Checker plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 2.4.14.1. This is due to the software allowing users to execute an action that does not properly validate a value before running do_shortcode. This makes it possible for unauthenticated attackers to execute arbitrary shortcodes. Exploitation requires that a submitted comment containing the shortcode payload in an href or src attribute is approved through the site's normal comment moderation workflow; once approved, the shortcode is executed automatically via WP-Cron without any further attacker interaction.
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.
More in Broken Link Checker
View allThe broken-link-checker plugin through 1.11.8 for WordPress (aka Broken Link Checker) is susceptible to Reflected XSS du
Unauth. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authentication required, low
A reflected XSS vulnerability was found in includes/admin/table-printer.php in the broken-link-checker (aka Broken Link
The Broken Link Checker WordPress plugin before 1.11.20 does not sanitise and escape some of its settings, which could a
The Broken Link Checker WordPress plugin before 2.4.2 does not validate a the link URLs before making a request to them,
Blind SQL injection in WPMU DEV Broken Link Checker WordPress plugin versions ≤2.4.7 allows authenticated high-privilege
The Broken Link Checker plugin for WordPress is vulnerable to deserialization of untrusted input via the '$log_file' val
Stored XSS in the Broken Link Checker WordPress plugin (versions ≤ 2.4.13) allows unauthenticated attackers to inject pe
Cross-site scripting (XSS) vulnerability exists in the Wordpress admin panel when the Broken Link Checker plugin before
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in WPMU DEV Broken Li
Server-Side Request Forgery in the Broken Link Checker WordPress plugin (WPMU Dev, versions ≤ 2.4.14) allows high-privil
EUVD-2026-102635
GHSA-fj49-q4jm-g898
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB