Skip to main content

SSL Zen EUVDEUVD-2026-86593

| CVE-2026-17577 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-25 Wordfence GHSA-j5cf-2jhm-4f9m
6.1
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Craft link with base64-encoded XSS in uri param
  2. Delivery
    Deliver malicious link via phishing
  3. Exploit
    Victim clicks link
  4. Execution
    Decoded HTML echoed unescaped by showMessage()
  5. Impact
    Script executes in victim browser session

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

Reflected XSS reachable by any unauthenticated attacker over the network against SSL Zen <=4.7.42, with no special plugin configuration required - the token_missmatch code path in ssl_zen_messages::getMessages() processes attacker-supplied 'uri'/'host' request parameters directly. The key LIMITING factor is mandatory user interaction (UI:R): the attacker must trick a victim into clicking a crafted link, so exploitation depends on successful social engineering and cannot be triggered passively. Impact is scoped to the victim's browser session (C:L/I:L), with elevated value if the victim is an authenticated administrator.

Impact

This is a reflected XSS (CWE-79) in the SSL Zen WordPress plugin, rated CVSS 6.1 (medium). The vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N indicates network-reachable, low-complexity, unauthenticated exploitation, but it critically REQUIRES user interaction (UI:R) - a victim must click an attacker-crafted link - which caps real-world severity. No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so there is no signal of active or automated exploitation. No SSVC decision data was supplied. The technical root cause is well-documented and plausible: getMessages() base64_decodes the attacker-controlled 'uri'/'host' parameters after sanitize_text_field(), which cannot strip HTML hidden inside a base64 blob, and showMessage() echoes the decoded raw HTML unescaped. This is a genuine but standard, interaction-gated reflected XSS - a routine-priority patch item, not an emergency; the bounded C:L/I:L/A:N impact and mandatory phishing step keep real-world risk moderate rather than critical.

Exploit ScenarioDerived

An attacker crafts a URL to the target WordPress site with a base64-encoded JavaScript payload in the 'uri' (or 'host') parameter and delivers it via phishing, forum post, or malicious ad. When a logged-in administrator or any visitor clicks the link, the token_missmatch message is rendered with the decoded raw HTML, executing the script in their browser session (e.g., stealing cookies or performing actions as that user). No public exploit code is identified at time of analysis, though the vulnerable code path is precisely described in the Wordfence/trac references.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Reflected cross-site scripting in the SSL Zen - SSL Certificate Installer & HTTPS Redirects WordPress plugin, versions up to and including 4.7.42, allows an unauthenticated remote attacker to inject arbitrary JavaScript into a victim's browser session through the base64-encoded 'uri' and 'host' request parameters. The plugin decodes these parameters after running sanitize_text_field() on them, so HTML and script markup that is hidden inside the base64 blob survives filtering and is then echoed unescaped by showMessage(), landing in the page as executable content. Exploitation requires the victim to click a crafted link (CVSS vector UI:R), making it a social-engineering-dependent attack rather than a passively triggered one; the impact is scoped to the victim's browser session with low confidentiality and integrity impact, and no public exploit code was identified at time of analysis, so it is not confirmed as actively exploited. The impact is materially elevated when the crafted link is opened by a logged-in WordPress administrator, because the injected script then runs in an authenticated administrative context.

RemediationAI

No vendor-released patch version is identified in the available data; a Trac changeset is referenced at https://plugins.trac.wordpress.org/changeset?reponame=&old=3701590%40ssl-zen&new=3701590%40ssl-zen, which appears to contain an upstream fix, but a corresponding released plugin version could not be independently confirmed - treat this as 'upstream fix available (PR/commit); released patched version not independently confirmed' and update to the newest SSL Zen release as soon as one beyond 4.7.42 is published, verifying the changelog against the advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/20816039-0b1c-420a-b5f4-b5370d0331da?source=cve. If no patched release is available, the most effective compensating control is to deactivate and remove the SSL Zen plugin until a fix ships, accepting the loss of its certificate-installation and HTTPS-redirect functionality; where the plugin must remain active, deploy a WAF or reverse-proxy rule that rejects requests whose 'uri' or 'host' query parameters decode to values containing HTML tags, angle brackets, or script keywords, understanding that base64 payloads are easy to mutate and such signatures are bypassable. Because the payload is delivered via a crafted link and executes only on user click, tighten the social-engineering surface: instruct administrators never to follow unsolicited or third-party links into wp-admin, restrict wp-admin access by IP allowlist or VPN (accepting reduced flexibility for remote staff), and enable browser isolation or a hardened/script-blocking browser profile for administrative sessions, which limits script execution but can break legitimate plugin UI. Finally, note that the root coding defect is decode-after-sanitize, so any interim patch or code override must escape the decoded value at output (for example esc_html() on the base64_decode() result) rather than relying on sanitize_text_field(), which by design cannot inspect encoded content.

Affected VersionsENISA

SSL Zen — SSL Certificate Installer & HTTPS Redirects 0 ≤4.7.42

Affected Packages

euvd ssl_zen_ssl_certificate_installer_https_redirects 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 vulnerability is a classic CWE-79 improper neutralization of input during web page generation, but with an unusual order-of-operations twist that defeats the plugin's own input filtering. SSL Zen's ssl_zen_messages::getMessages() function constructs the 'token_missmatch' notice by calling base64_decode(sanitize_text_field($_REQUEST['uri'])) and optionally base64_decode(sanitize_text_field($_REQUEST['host'])). Because sanitize_text_field() is applied to the encoded string rather than to the decoded output, any HTML or JavaScript encoded inside the base64 payload arrives at the decoder intact - base64 is not a content filter, it merely obscures the markup from WordPress's text sanitizer. The decoded raw HTML is subsequently emitted by showMessage() without esc_html(), esc_attr(), or wp_kses() escaping, so the attacker-controlled markup is rendered by the browser as part of the plugin's admin/notice output. The affected component is the SSL Zen plugin for WordPress (CPE cpe:2.3:a:sslzen:ssl_zen_-_ssl_certificate_installer_&_https_redirects), a tool that installs SSL certificates and configures HTTPS redirects. The referenced source locations, the 4.7.14 and 4.7.42 tags of ssl_zen/classes/class.ssl_zen_messages.php at line 44 and ssl_zen/classes/class.ssl_zen_admin.php at line 863, show that the same unsafe decode-then-echo pattern is present across multiple release tags, indicating a long-standing rather than newly introduced coding flaw. The proper remediation pattern in WordPress is to escape at output time (esc_html/esc_attr on the decoded value) and to validate that the decoded value is a legitimate URI/host rather than free-form markup.

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

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

Unauthenticated network-reachable reflected XSS requiring a victim click (UI:R); scope change (S:C) as script runs in the browser context with limited C/I impact and no availability effect.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

The SSL Zen plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'uri' (and 'host') parameters in versions up to, and including, 4.7.42. The ssl_zen_messages::getMessages() function builds the 'token_missmatch' message using base64_decode(sanitize_text_field($_REQUEST['uri'])) and (optionally) base64_decode(sanitize_text_field($_REQUEST['host'])). sanitize_text_field() cannot strip HTML/JavaScript that is hidden inside a base64-encoded blob, and the resulting decoded raw HTML is echoed unescaped by showMessage() . This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a specially crafted link.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
SSL Zen is a common WordPress SSL/HTTPS plugin with a moderate install base
Data Quality
3 sources
Confidence: Low

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
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.

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-4295 CRITICAL POC
9.8 Jun 05

The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in

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