CVE-2026-69231
Executive Summary
CVE-2026-69231 is a stored cross-site scripting (XSS) vulnerability affecting Esri Portal for ArcGIS versions 11.5 and prior, specifically impacting ArcGIS Enterprise deployments on versions 11.1, 11.3, and 11.5. A remote, privileged attacker can exploit this issue to inject malicious JavaScript that executes in the browser of any victim accessing the affected portal. The vulnerability carries a CVSS score of 5.5 (Medium), and as of this report, no official patch has been released; Esri recommends upgrading to the latest long-term support release.
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.
No signup required
Technical Analysis
The vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation), indicating a failure to properly sanitize or validate user-supplied input before it is rendered in a web page. In the context of a portal application such as ArcGIS, this flaw resides in a stored XSS mechanism, meaning the malicious payload is persisted within the application — for example, within user profile fields, custom item metadata, group descriptions, or configuration settings — and is later served to other users without adequate encoding.
The attack surface is the Portal for ArcGIS web interface. The description specifies that the attacker must be "privileged," which implies the source of the injection is likely a functionality restricted to administrative or high-privilege roles (e.g., customizing portal themes, managing user profiles, or publishing content). Stored XSS in such contexts is particularly dangerous because the trusted origin of the content may bypass client-side or WAF filters that would otherwise block reflected payloads.
No specific code-level details, function names, or endpoints are provided in the NVD description, so the exact parameter or module affected cannot be stated. However, the vulnerability class is clear: untrusted data is stored server-side without proper output encoding, and is subsequently rendered in the victim's browser context, allowing arbitrary script execution. The scope is marked as "Changed" in the CVSS vector, indicating that the compromised application component (the web server) is distinct from the impacted component (the browser client).
Exploitation Scenarios
No public proof-of-concept (PoC) or exploit code is currently available, and no Nuclei template exists. The following attack chain is inferred from the vulnerability class (stored XSS) and the constraints of the CVSS vector.
Reconnaissance/Target Identification: An attacker identifies an internet-facing or internally exposed Portal for ArcGIS instance. This can be done using search engine dorks targeting portal login pages or through network scanning for common ArcGIS ports (typically 7443/7444 or 443). Confirmation of the version (e.g., 11.5 or prior) may be obtained from the portal's login page or server response headers.
Flaw Trigger (Privilege Elevation or Legitimate Access): Because the CVSS vector requires High privilege (PR:H), the attacker must have a valid credentialed account with elevated rights. The attacker could either compromise an existing admin/editor account or register a low-privilege account and exploit a separate privilege escalation vector. The specific functionality that stores the payload is unknown, but likely falls under portal item creation, user profile editing, or administrative configuration.
Payload Delivery and Execution: The attacker injects a malicious script into a stored field via the portal's web interface. This script is crafted to execute when the page is rendered in a victim's browser. The payload could be obfuscated to evade basic WAFs and stored in a JSON field or HTML attribute. When a victim (e.g., another admin or an end-user) views the affected content, the script executes in their browser context, capable of stealing session tokens, performing actions on behalf of the victim, or exfiltrating portal data.
Post-Exploitation Impact: With a captured session cookie, the attacker can impersonate the victim. If the victim is an administrator, this could lead to full compromise of the portal configuration, including access to connected GIS data sources. Since the vector notes Low impact to Confidentiality and Integrity (C:L/I:L), the script's direct data theft is limited, but the potential for account takeover and lateral movement within the ArcGIS environment elevates the real-world severity.
Impact Assessment
The CVSS base score is 5.5 (Medium) with a vector of CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N. Key aspects:
- Attack Vector (AV:N) and Complexity (AC:L): The vulnerability can be exploited remotely over the network without significant conditions.
- Privileges Required (PR:H): The attacker must possess a privileged account, which limits the pool of potential attackers but does not eliminate the risk, particularly in multi-tenant environments or those with weak credential hygiene.
- User Interaction (UI:N): No victim interaction is required for the script to fire, beyond the victim viewing the affected page.
- Scope Change (S:C): The vulnerable component (server) and impacted component (client browser) differ, which can complicate least-privilege assumptions.
Business Impact: Organizations running ArcGIS Enterprise 11.1, 11.3, or 11.5 are directly exposed. GIS platforms are often used to manage critical infrastructure data, urban planning, and defense logistics. A successful attack could lead to data integrity loss (modification of map layers or metadata), leakage of sensitive data (e.g., internal facility locations), or—in a worst-case scenario—pivoting from the portal to the underlying ArcGIS Server via stolen admin credentials.
Blast Radius: The "Stored" XSS nature means the payload persists, affecting every user who views the malicious content, not just the initial victim. In a large enterprise, a single injection could propagate across multiple departments. The lack of a patch (as of this report) means the entire user base of affected versions remains vulnerable.
Detection Guidance
Detection of stored XSS in web applications requires a combination of web application firewall (WAF) rules, endpoint logging, and server-side input validation. The following rules target the behavior of the attack and the subsequent exploitation.
Sigma Rule
title: Suspicious JavaScript in Portal for ArcGIS User-Generated Content
id: 3f5d4f2e-9d0a-4f0a-8b2a-9c1d3e5a7b8c
status: experimental
description: Detects creation or modification of content items in Portal for ArcGIS containing suspicious HTML/script tags.
logsource:
category: application
product: arcgis
service: portal
detection:
selection:
EventID:
- 1020 # Content add/update event (hypothetical)
- 1021
Message|contains|all:
- '<script'
- 'javascript:'
- 'onerror='
- 'onload='
condition: selection
level: high
falsepositives:
- Legitimate admin embedding custom HTML widgets
tags:
- attack.input_capture
- attack.t1592
Note: Event IDs are representative; adjust to your actual Portal for ArcGIS log schema.
YARA Rule
rule ArcGIS_Stored_XSS_DomainTagging
{
meta:
author = "Valter's Threat Intel"
description = "Detects stored XSS payloads targeting ArcGIS portal stored fields"
date = "2026-01-01"
reference = "CVE-2026-69231"
score = 60
strings:
$payload1 = "<script" ascii nocase
$payload2 = "window.location" ascii nocase
$payload3 = "document.cookie" ascii nocase
$payload4 = "eval(" ascii nocase
$payload5 = "onload=" ascii nocase
$payload6 = "onerror=" ascii nocase
condition:
any of ($payload*) and (filesize < 100KB)
}
Suricata IDS Rule
alert http any any -> any any (msg:"ET EXPLOIT ArcGIS Portal XSS Payload Attempt";
content:"<script"; nocase; http_uri;
content:"arcgis"; nocase; http_uri; distance:0;
pcre:"/window\.location|document\.cookie|eval|on(error|load)=/iU";
classtype:web-application-attack; sid:2026031; rev:1;)
Elastic Detection
event.module: "nginx" OR event.module: "iis"
AND url.path: ("*arcgis*", "*portal*")
AND url.query: "*script*"
AND request.body: "*<script>*"
AND response.status_code: 200
AND user.name: "*admin*" OR user.name: "*editor*"
Splunk SPL Query
index=webserver sourcetype=access_combined
| search uri_path="*arcgis*" OR uri_path="*portal*"
| search "<script>"
| table _time clientip user uri method status
| rename user as "Portal User"
| stats count by clientip, "Portal User", uri
| sort - count
Wazuh OSSEC Rule
<group name="web_application,">
<rule id="100231" level="10">
<decoded>arcgis</decoded>
<match>script</match>
<regex>window\.location|document\.cookie|eval</regex>
<description>Possible Stored XSS in Portal for ArcGIS (CVE-2026-69231)</description>
<group>attack.xss,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 0/4 — UNPATCHED — no patch evidence from any tracked source.
Immediate Mitigations:
- Restrict privileged account access to Portal for ArcGIS to a minimal set of trusted users. Enforce multi-factor authentication (MFA) for all administrator and editor accounts to reduce the risk of credential compromise that would allow payload injection.
- Implement a Web Application Firewall (WAF) rule to block and log any server responses containing script tags in operational content fields (e.g., profile, item descriptions).
- Audit existing portal content for suspicious stored scripts, focusing on items modified by privileged accounts.
Patch/Upgrade Steps:
- There is no vendor-provided patch for versions 11.1, 11.3, and 11.5. Esri's advisory instructs all users to upgrade to the latest long-term support release. Identify the current LTS release (e.g., 11.x or 10.9.x depending on your enterprise schedule) and plan an upgrade window. Test the upgrade in a staging environment that mirrors production data and integrations.
Long-Term Hardening:
- Enforce a strict Content-Security-Policy (CSP) header on the Portal web server to restrict script execution to trusted domains, mitigating the impact of any future XSS.
- Implement routine code reviews of any custom portal extensions or widgets that may introduce additional client-side vulnerabilities.
- Subscribe to Esri's security advisory feed and ensure that patch deployment is automated where feasible. Re-assess this CVE monthly, as the patch confidence level is expected to change once Esri publishes a fix.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-69231
- Esri Security Advisory: https://www.esri.com/en-us/arcgis/security (Generic advisory page; specific PDF not yet published)
- CWE-79 Details: https://cwe.mitre.org/data/definitions/79.html
- Mitre ATT&CK T1190: https://attack.mitre.org/techniques/T1190/
Threat Actor Campaigns: As of this report, there is no evidence of active exploitation, public proof-of-concept, or threat actor campaigns leveraging CVE-2026-69231. The vulnerability is not listed on CISA's Known Exploited Vulnerabilities (KEV) catalog.
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.