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

CVE-2026-84829

CVE-2026-84829 Cross-Site Scripting in Optimole
📅 PUBLISHED: 2026-09-16 00:00 UTC 🔄 UPDATED: 2026-10-02 19:21 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.46%
👁️
0.46% probability
11.5× 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.
Country: Romania License: Freemium
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 8.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.8
THREAT LEVEL
INTEL SOURCES NVD EPSS HOW WE SCORE →
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-84829 is a stored cross-site scripting (XSS) vulnerability in the Optimole WordPress plugin affecting all versions prior to 4.2.12. The flaw arises because the plugin fails to properly escape a user-supplied value before using it to construct an attribute of an image tag, permitting unauthenticated attackers to inject arbitrary HTML attributes into pages served to every site visitor. Because the payload is persisted and rendered to all users — including administrators — the practical impact is mass client-side script execution across the affected WordPress site, with a realistic escalation path toward full site compromise via administrative session abuse.

⚡ 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 class is Stored (Persistent) Cross-Site Scripting (CWE-79), occurring specifically during output/attribute construction rather than during input validation. According to the NVD description, the Optimole plugin "does not properly escape a user supplied value before using it to build an image tag attribute."

Two properties of this description are operationally significant:

  1. Attribute-context injection. The unsafe sink is an HTML attribute of an image (<img>) tag. Attribute context is distinct from element-body (text) context. Escaping that is sufficient for one context (e.g., HTML-entity encoding of < and >) may be insufficient in the other if quote characters (" or ') are not encoded. An attacker who controls an attribute value can break out of the quoted attribute and append new attributes — including event handlers such as onerror/onload — or inject additional markup. This is consistent with the "inject arbitrary attributes" language in the description. No specific parameter, function, or endpoint names are disclosed in the available data, so the exact injection point cannot be named without fabrication.

  2. Unauthenticated, persistent, victim-facing. The description explicitly states that unauthenticated users can trigger the injection and that the result is served to every visitor. This eliminates any requirement for credentials, CSRF tokens, or privileged context. The stored nature means a single successful injection poisons the rendered output for all subsequent page loads until the malicious value is removed.

Optimole is an image optimization plugin; its core function is to rewrite, proxy, and serve image references throughout the site. The most plausible architectural explanation (inferred from the plugin's purpose, not asserted as a named implementation detail) is that a user-controllable value — likely associated with image URL or image-attribute handling — is concatenated into an attribute string without context-appropriate encoding before being emitted into the page. Because no public source code diff, advisory technical detail, or researcher write-up is included in the provided intelligence, the precise call path, hook, and parameter name are not derivable and are deliberately not invented here.

Key unknowns given sparse disclosure:

  • The exact attacker-controlled parameter or request path.
  • Whether the injection persists via the WordPress database, a transient/cache layer, or the plugin's image-serving layer.
  • Whether a nonce or referer check exists at the injection point (the description implies unauthenticated reachability, so any such check is bypassable or absent).

Analysts should treat the absence of these details as a coverage gap and derive endpoint-level specifics from dynamic testing during authorized engagements, not from this report.


Exploitation Scenarios

Note: No public proof-of-concept exists and no exploit code or Nuclei template is available. The chain below is described at the vulnerability-class level in accordance with the disclosure. No function names, parameters, file paths, or API endpoints are invented.

1. Reconnaissance / Target Identification An attacker enumerates WordPress sites running the Optimole plugin at a version below 4.2.12. Passive fingerprinting is possible via the plugin's publicly served front-end assets and image-optimization behavior (e.g., rewritten image URLs, plugin directory paths present in page source or HTTP responses). Public web-scanning services and search engines indexed for plugin fingerprints accelerate mass identification. No authentication is required for this phase.

2. Triggering the Flaw Class (Persistent Attribute Injection) Because the flaw is an unescaped attribute construction sink reachable by unauthenticated users, the attacker submits a crafted value to whichever plugin-exposed input reaches the image-tag attribute builder. The payload is designed to terminate the intended attribute context and introduce new attributes — for example, an injected event-handler attribute bearing script content. The critical property is that the malicious value is stored and later re-rendered, rather than reflected only to the submitter. Confirmation of the exact request is left to authorized testing, since the disclosure does not name the input.

3. Payload / Execution Method Once stored, the crafted attribute is emitted into an <img> tag in pages served to visitors. When a victim's browser parses the malformed tag, the injected attribute fires according to the injected event (for example, an error- or load-triggered handler) or the injected markup executes directly. The script runs in the origin of the affected WordPress site, inheriting that site's cookies, same-origin policy, and DOM context.

4. Post-Exploitation Impact The script executes in the session of every visitor, including authenticated administrators. Standard stored-XSS consequences follow at this stage:

  • Theft/abuse of session tokens or authenticated cookies,
  • Silent execution of privileged actions via the victim admin's authenticated session (e.g., plugin/theme manipulation or content tampering — spelled out at the class level only, no endpoints asserted),
  • Credential phishing or forced redirects under the trusted site origin,
  • Data exfiltration from the rendered page context,
  • Potential defacement or inline cryptojacking/redirect campaigns served to all site traffic.

The self-propagating, all-visitors nature of this issue makes a single successful injection high leverage.


Impact Assessment

Dimension Assessment
Confidentiality Low–Moderate — page-context data and session material exposed to injected script
Integrity Low–Moderate — arbitrary client-side actions under the victim's session; content/attribute tampering
Availability None directly (no server-side DoS)
Scope Changed — impact crosses from the injected attribute into the broader browser security context (origin-wide)
Privileges Required None (unauthenticated injection)
User Interaction None required to trigger injection; victims merely browsing the tainted page triggers execution

Business impact: Any WordPress site running a vulnerable Optimole version is exposed. Because the payload serves to all visitors, the blast radius includes customers, subscribers, and administrators alike. For e-commerce, membership, or high-traffic content sites, this translates to immediate reputational damage, potential data-protection/regulatory exposure (visitor data processed by injected script), and elevated risk of full site takeover through administrative session abuse. EPSS is 0.00225 (13.4th percentile) and the CVE is not in CISA KEV, indicating a currently low observed exploitation probability — but stored, unauthenticated, all-visitor XSS is a high-severity class that defenders should not deprioritize based on EPSS alone. No CVSS score or official vector was provided; the vector in METADATA is a class-based estimate and must be replaced with any authoritative vector if one is later published.


Detection Guidance

Sigma Rule

title: Suspicious Attribute Injection Attempt Against Optimole Plugin Endpoints
id: 6f2a9c41-0b7e-4d3a-9c2e-optimole84829
status: experimental
description: Detects web requests containing HTML attribute/event-handler breakout patterns that may indicate exploitation of unescaped image-tag attribute construction (CVE-2026-84829).
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-84829
author: valtersit.com
date: 2026-01-01
logsource:
  category: webserver
  product: apache
detection:
  selection_plugin:
    cs-uri-query|contains:
      - 'optimole'
  selection_payload:
    cs-uri-query|contains:
      - 'onerror='
      - 'onload='
      - 'onmouseover='
      - '<script'
      - '"><'
      - "'><"
  condition: selection_plugin and selection_payload
fields:
  - c-ip
  - cs-uri-query
  - cs-User-Agent
falsepositives:
  - Security scanners and authorized penetration testing
  - Legitimate content containing the literal string "onerror"
level: medium

YARA Rule

rule CVE_2026_84829_Optimole_Stored_XSS_Attribute
{
    meta:
        description = "Detects attribute-breakout XSS payloads consistent with CVE-2026-84829 (Optimole unescaped image-tag attribute)"
        author = "valtersit.com"
        date = "2026-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-84829"
        tlp = "WHITE"

    strings:
        $img = "<img" ascii nocase
        $evt1 = "onerror=" ascii nocase
        $evt2 = "onload=" ascii nocase
        $evt3 = "onmouseover=" ascii nocase
        $breakout1 = "\"><" ascii
        $breakout2 = "'><" ascii
        $script = "<script" ascii nocase

    condition:
        $img and 1 of ($evt*) and 1 of ($breakout*)
        or
        ($img and $script)
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-84829 Optimole Unescaped Attribute XSS Injection Attempt"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"optimole"; nocase; http.uri; content:"onerror="; nocase; http.uri; content:"\"><"; nocase; classtype:web-application-attack; reference:cve,2026-84829; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-84829; sid:202684829; rev:1;)

Elastic Detection

sequence by source.ip with maxspan=5s
  [network where http.request.method == "GET" and
     stringContains(url.full, "optimole")]
  [network where http.request.method == "GET" and
     (stringContains(url.query, "onerror=") or
      stringContains(url.query, "onload=") or
      stringContains(url.query, "<script"))]

Splunk SPL Query

index=web sourcetype=access_combined
("optimole")
| eval ua=coalesce(uri_query, cs_uri_query, "")
| where match(lower(ua), "onerror=|onload=|onmouseover=|<script|\"><|'><")
| stats count min(_time) as first_seen max(_time) as last_seen
        values(uri) as uris by src_ip
| where count >= 1
| sort - count

Wazuh OSSEC Rule

<group name="web,appsec,cve-2026-84829,">
  <rule id="202684829" level="10">
    <if_sid>31100</if_sid>
    <id>^2800[0-9]$</id>
    <match>optimole</match>
    <regex type="pcre2">(?i)(onerror=|onload=|onmouseover=|&lt;script|"&gt;&lt;|'&gt;&lt;)</regex>
    <description>CVE-2026-84829: Possible Optimole unescaped image-tag attribute XSS injection attempt (stored XSS).</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>web_scan,web_app_attack,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 — UNPATCHED (no patch evidence from any tracked source). The only version reference in the disclosure is the fixed boundary "before 4.2.12"; no vendor advisory, repository commit, or change log was provided in the tracked sources.

1. Immediate mitigations (no patch available):

  • Virtual patching: Deploy WAF rules (or the Suricata/Sigma detections above) to block requests containing attribute-breakout and event-handler patterns (onerror=, onload=, "><, <script) targeting Optimole-related endpoints.
  • Restrict the plugin's unauthenticated attack surface at the edge where the injection point is reachable, pending definitive remediation.
  • Content Security Policy: Enforce a strict CSP (no unsafe-inline for scripts, nonce-based script allowlisting) to neutralize inline/event-handler execution even if injection is stored.
  • Monitor server logs for suspicious plugin-path requests and review stored content/image attribute values for injected markup.

2. Patch / upgrade steps:

  • The vulnerability is described as fixed in Optimole 4.2.12. Verify independently via the vendor's official release channel before relying on this boundary, given the 0/4 patch confidence.
  • Once a verified fixed release exists, upgrade the plugin to 4.2.12 or later through the WordPress admin or WP-CLI (wp plugin update optimole-wp), then confirm the installed version in the plugins list.
  • After upgrading, audit and remove any previously injected stored values (content, options, caches) from pages rendered prior to remediation.

3. Long-term hardening:

  • Maintain a WordPress plugin inventory with version tracking and alerting on known-vulnerable components; subscribe to the vendor's advisory feed.
  • Apply context-aware output encoding on all attribute sinks as a coding standard for custom themes/plugins.
  • Deploy restrictive CSP and same-site cookie attributes; enforce least privilege for administrative sessions and consider re-authentication for sensitive admin actions to blunt session-abuse follow-ons.
  • Ensure automated backups and a WAF with virtual-patch capability are in place for unpatched windows.

References

  1. NVD — CVE-2026-84829: https://nvd.nist.gov/vuln/detail/CVE-2026-84829
  2. MITRE ATT&CK — T1190 Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/
  3. MITRE CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'): https://cwe.mitre.org/data/definitions/79.html
  4. FIRST — EPSS (CVE-2026-84829, score 0.00225): https://api.first.org/data/v1/epss?cve=CVE-2026-84829
  5. Optimole WordPress plugin (WordPress.org) — verify current version and advisories against the fixed boundary 4.2.12: https://wordpress.org/plugins/optimole-wp/

Threat actor / in-the-wild status: No known threat actor campaigns, public PoC, Nuclei template, or exploit code are associated with CVE-2026-84829 in the provided intelligence. CISA KEV status is NO. Exploitation is currently unconfirmed in the wild; the report's exploitation section is an inference from the stored-XSS vulnerability class and should be treated as such.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-84829/ · 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.