Vulnerability · Published Aug 25, 2026 · Assigned by Wordfence
CVE-2026-19801BetterLinks <= 3.1.0 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Short URL Creation via create_fbs_link AJAX Action
Medium 4.3
In plain English
A medium-severity missing authorization in BetterLinks – Link Shortener, Link Cloaking, Redirects, Affiliate Link Manager & MCP from wpdevteam. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 35% of all known vulnerabilities).
Official description
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.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| wpdevteam | BetterLinks – Link Shortener, Link Cloaking, Redirects, Affiliate Link Manager & MCP | 0 – through 3.1.0 |
Weakness: CWE-862 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/faf44730-b975-4057-96dc-7284775500f9?source=cve
- https://plugins.trac.wordpress.org/browser/betterlinks/tags/3.0.0/includes/Admin/Ajax.php#L180
- https://plugins.trac.wordpress.org/browser/betterlinks/tags/3.1.0/includes/Admin/Ajax.php#L180
- https://plugins.trac.wordpress.org/browser/betterlinks/tags/3.1.0/includes/Admin/Ajax.php#L99
- https://plugins.trac.wordpress.org/browser/betterlinks/tags/3.1.0/betterlinks.php#L254
- https://plugins.trac.wordpress.org/browser/betterlinks/tags/3.0.0/includes/Admin/Ajax.php#L99
- https://plugins.trac.wordpress.org/browser/betterlinks/tags/3.0.0/betterlinks.php#L254
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3658390%40betterlinks&new=3658390%40betterlinks