Skip to main content

No External Links CVE-2026-95670

| EUVDEUVD-2026-91254 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-02 Wordfence GHSA-wwjw-5544-v47j
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify site with Base64 link encoding enabled
  2. Delivery
    Send crafted /goto/{base64} redirect request
  3. Exploit
    Inject script into stored Log URL
  4. Execution
    Payload executes in admin's browser
  5. Impact
    Hijack session or perform admin actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the administrator to have enabled the 'Link Encoding: Base64' option in the No External Links plugin settings - this is a non-default configuration and is the primary limiting factor. Given that setting, an unauthenticated remote attacker can inject a stored script via the Log URL handling of the /goto/{base64} redirect path (vulnerable code in LogTable.php and public/Frontend.php). Execution additionally depends on a privileged user (e.g., an administrator reviewing logs) later viewing the injected page, so impact is realized only upon victim page access. Sites running ≤5.2.0 without Base64 link encoding enabled are not affected.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, base 7.2 HIGH) describes a network-reachable, unauthenticated stored XSS with a scope change, which on paper is attractive to attackers. However, several signals temper real-world urgency. No EPSS score was provided, there is no CISA KEV listing, and no public exploit code is referenced - so there is no public exploit identified at time of analysis. Most importantly, the description explicitly gates exploitation on a non-default configuration: the administrator must have enabled the 'Link Encoding: Base64' option. This conflicts with the PR:N/AC:L framing because, while the attacker needs no privileges, success depends entirely on a target-side setting the attacker does not control - so the 'unauthenticated, low-complexity' reading overstates practical exploitability against typical deployments. The impact is also bounded (C:L/I:L/A:N), consistent with browser-side script execution rather than server compromise. Net assessment: a legitimate, vendor-reported (Wordfence) stored XSS worth patching, but a conditional, moderate-risk issue rather than a widespread emergency - prioritize only where the Base64 link-encoding feature is actually enabled.

Exploit ScenarioDerived

On a site where the admin has enabled the 'Link Encoding: Base64' option, an unauthenticated attacker crafts a malicious /goto/{base64} redirect request whose URL contains a script payload. The payload is stored unsanitized and later rendered in the plugin's Log URL output, executing in the browser of any user (typically an administrator) who views the logged page. No public exploit code is referenced at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 02, 2026

Stored cross-site scripting in the No External Links WordPress plugin (all versions up to and including 5.2.0) lets an unauthenticated remote attacker inject arbitrary web scripts through the Log URL handling of the /goto/{base64} redirect path, with the injected payload executing when a privileged user views the affected page. The CVSS 3.1 vector is AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N (base 7.2 HIGH), and per the independent assessment the attack is network-reachable and unauthenticated but is gated by a non-default prerequisite: the administrator must have enabled the 'Link Encoding: Base64' option, and the payload only fires once a victim later loads the poisoned page, such as an admin reviewing the plugin's log table. Sites running 5.2.0 or earlier without Base64 link encoding enabled are not affected, and no public exploit code was identified at time of analysis.

RemediationAI

Apply the upstream fix for the No External Links plugin: a code change was committed in the plugin repository changeset r3719796 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3719796%40mihdan-no-external-links&new=3719796%40mihdan-no-external-links), so upgrading to the release containing that changeset addresses the flaw; a released patched version number was not independently confirmed from the supplied data, so verify the version prior to update. If an immediate upgrade is not possible, the most effective compensating control is to disable the 'Link Encoding: Base64' option in the plugin settings, which removes the vulnerable /goto/{base64} logging path entirely - the trade-off is that outbound links will no longer be base64-encoded/cloaked, changing the site's link presentation. Alternatively, temporarily deactivate the plugin until it can be patched. Administrators should also purge or review existing rows in the plugin's log table for injected script content before restoring normal operation, restrict access to the plugin's admin log screens to trusted users, and consider a WAF rule blocking script payloads in /goto/ requests; note that a WAF is a detection/blocking layer that does not remove already-stored payloads. Full remediation detail is documented at the Wordfence advisory referenced above.

Affected VersionsENISA

No External Links 0 ≤5.2.0

Affected Packages

euvd no_external_links no fix

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 root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. cross-site scripting) arising from insufficient input sanitization and missing output escaping in the plugin's redirect-logging flow. No External Links rewrites outbound links on a WordPress site and, when the optional 'Link Encoding: Base64' setting is enabled, intercepts clicks through a /goto/{base64} endpoint that decodes the target URL and records it. The referenced source shows the unsanitized handling of that logged URL spread across admin/LogTable.php (line 95) and public/Frontend.php (lines 451, 801 and 989) in tag 5.2.0, meaning the user-controlled URL is stored and later rendered into an administrative log view without adequate escaping. Because execution occurs when the stored value is rendered, the flaw is persistent (stored) rather than reflected, and the CVSS scope change (S:C) reflects the ability of injected script running in a privileged viewer's browser context to affect resources beyond the vulnerable component. The affected package is identified by CPE cpe:2.3:a:mihdan:no_external_links:*:*:*:*:*:*:*:* (vendor mihdan), tracked in the EU software vulnerability database as EUVD-2026-91254.

Know when No External Links 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

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Unauthenticated network injection (AV:N/PR:N) into stored output executing in another user's browser (S:C, C:L/I:L); AC kept low though the required non-default Base64 setting could justify AC:H.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The No External Links plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Log URL via /goto/{base64} Redirect in all versions up to, and including, 5.2.0 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is only exploitable when the administrator has enabled the 'Link Encoding: Base64' option in the plugin settings.

Executive ViewAI

Why It Matters

The No External Links WordPress plugin, through version 5.2.0, contains a high-severity stored cross-site scripting issue that can allow an unauthenticated attacker to place malicious content into plugin log entries and have it execute in a privileged user's browser when those entries are reviewed. Exposed sites face potential compromise of administrator sessions and unauthorized administrative actions, but the risk is limited to installations where the non-default Base64 link encoding option has been enabled. With no vendor patch currently available, leadership should prioritize identifying and mitigating affected WordPress deployments to protect administrative access and site integrity.

Business Impact: High
Compensating Controls

Disable the 'Link Encoding: Base64' option; if not essential, deactivate or remove No External Links versions up to and including 5.2.0; restrict WordPress admin and plugin log access; deploy WAF/virtual patching to block or sanitize malicious /goto/{base64} requests; review logs and reset privileged user sessions if suspicious activity is found. No vendor-released patch identified at time of analysis.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche WordPress link-cloaking plugin with limited install base
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy