Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain subscriber-level WordPress account on target
-
DeliveryConfirm Fluent Boards plugin is active
-
ExploitHarvest betterlinks_admin_nonce from any frontend page source
-
ExecutionSend crafted AJAX POST to admin-ajax.php invoking unprotected link-creation handler
-
PersistCreate short URL with attacker-chosen slug redirecting to phishing domain
-
ImpactDistribute victim-domain short URL in phishing or SEO campaigns
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two specific conditions must simultaneously be met: (1) the Fluent Boards companion plugin must be installed and active on the WordPress site, causing the FLUENT_BOARDS constant to be defined - this is the primary gate that opens the vulnerable AJAX code path; and (2) the attacker must hold at minimum a subscriber-level WordPress account on the target site. No non-default server configuration is required beyond the dual-plugin state. The betterlinks_admin_nonce is emitted on every frontend page via wp_localize_script, so the attacker needs only to be logged in to obtain a valid nonce - no admin panel access or separate nonce harvesting step is necessary. Exploitation is limited by the dual-plugin dependency (sites running BetterLinks without Fluent Boards are not affected by this code path), by the requirement for an authenticated account (unauthenticated attackers are excluded), and by the absence of confidentiality or availability impact (the attacker cannot read or delete existing links, only create new ones). |
| Impact | The NVD CVSS 4.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) accurately reflects the constrained scope: only integrity is impacted, and exploitation is gated behind authenticated access. No EPSS data was provided; KEV status is not listed and no POC code has been publicly identified, suggesting exploitation remains opportunistic rather than widespread. The most meaningful real-world risk is phishing infrastructure abuse - an attacker uses the victim site's trusted domain as a redirect hop, increasing the credibility of phishing lures - and SEO poisoning via slug injection. The dual-plugin dependency (BetterLinks plus active Fluent Boards) is a genuine limiting factor that substantially reduces the effective attack surface to only sites running both plugins simultaneously. The nonce leakage does not independently elevate severity but removes the CSRF friction for any authenticated user. Overall, this is a real but bounded integrity issue warranting a timely patch rather than emergency response for most operators. |
| Exploit ScenarioDerived | An attacker registers a free subscriber-level account on a target WordPress site running BetterLinks ≤ 3.1.0 alongside Fluent Boards. After logging in, the attacker reads the betterlinks_admin_nonce value emitted in the page source of any frontend page and sends a crafted WordPress AJAX request (admin-ajax.php) that invokes the unprotected link-creation handler, specifying an attacker-chosen slug and a destination URL pointing to a phishing or malware site. The resulting short URL - hosted on the victim site's trusted domain - is then distributed in phishing campaigns, bypassing URL reputation filters that would block the attacker's own domain. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Authorization bypass in the BetterLinks WordPress plugin (all versions ≤ 3.1.0) permits any authenticated subscriber-level user to create arbitrary short URLs with attacker-controlled slugs and redirect destinations, enabling phishing campaigns that abuse the victim site's trusted domain and SEO manipulation. Exploitation is conditional on the Fluent Boards companion plugin being simultaneously installed and active, and is facilitated by the plugin leaking the betterlinks_admin_nonce to all authenticated users on every frontend page via wp_localize_script. No public exploit has been identified at time of analysis, and the vulnerability is not listed in CISA KEV; real-world risk is bounded by the dual-plugin dependency and the requirement for a valid WordPress account.
RemediationAI
An upstream fix has been committed to the BetterLinks plugin repository as documented in the WordPress trac changeset at https://plugins.trac.wordpress.org/changeset?reponame=&old=3658390%40betterlinks&new=3658390%40betterlinks; however, a specific released patched version number is not confirmed in the available data - administrators should update BetterLinks to the latest available version via the WordPress plugin dashboard and verify the fix is present. As an immediate compensating control, sites that do not operationally require the Fluent Boards integration should deactivate or uninstall the Fluent Boards plugin, which eliminates the vulnerable code path entirely with no side effects on BetterLinks core functionality. Where subscriber-level or contributor-level WordPress accounts are not operationally necessary, restricting or removing these accounts reduces exploitation surface without affecting site functionality. Auditing existing BetterLinks short URLs for unexpected slugs or suspicious redirect destinations is advisable to detect prior abuse.
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
BetterLinks is a WordPress link shortener, cloaking, and affiliate management plugin by WPDevTeam (CPE: cpe:2.3:a:wpdevteam:betterlinks_-_link_shortener,_link_cloaking,_redirects,_affiliate_link_manager_&_mcp). The root cause is CWE-862 (Missing Authorization): AJAX handlers in includes/Admin/Ajax.php (lines 99 and 180, confirmed across versions 3.0.0 and 3.1.0 in the WordPress plugin repository) fail to verify that the requesting user holds the necessary capabilities before processing link-creation actions. A secondary design flaw compounds the issue - the betterlinks_admin_nonce is unconditionally emitted on every frontend page via wp_localize_script (betterlinks.php L254), meaning any logged-in user can harvest a valid nonce without elevated access. The vulnerable code path is only reachable when the Fluent Boards companion plugin is active, as the plugin gates this logic on the presence of the FLUENT_BOARDS constant.
Know when Wordpress Plugin 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:L/UI:N/S:U/C:N/I:L/A:N
Network-exploitable with subscriber credentials and no user interaction; only limited integrity impact from unauthorized link creation; the provided vector is independently consistent with the described mechanics.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The BetterLinks - Link Shortener, Link Cloaking, Redirects, Affiliate Link Manager & MCP plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 3.1.0. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to create arbitrary BetterLinks short URLs with attacker-controlled slugs and redirect destinations, enabling phishing and SEO abuse. Exploitation requires the Fluent Boards companion plugin to be installed and active (so that the FLUENT_BOARDS constant is defined), and is further facilitated by the betterlinks_admin_nonce nonce being emitted on every frontend page via wp_localize_script, making it accessible to any authenticated user.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-65193
GHSA-64w4-qrww-rxhv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB