CVE-2026-106630
Executive Summary
CVE-2026-106630 is a stored Cross-Site Scripting (XSS) vulnerability in Adobe Experience Manager (AEM) that allows an attacker to inject malicious scripts into vulnerable form fields. When a victim browses to the page containing the injected field, the malicious JavaScript executes in the victim's browser context, potentially granting elevated access or control over the victim's account or session. With a CVSS v3.1 base score of 9.3 and a scope-changed vector, this is a critical-severity issue affecting any AEM deployment that exposes user-fillable or persisted form content; no public proof-of-concept, exploit code, or vendor patch has been identified in tracked sources.
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 as CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e., Cross-Site Scripting) and specifically as a stored (persistent) XSS. The NVD description states that the flaw is "abused by an attacker to inject malicious scripts into vulnerable form fields" and that the injected JavaScript "may be executed in a victim's browser when they browse to the page containing the vulnerable field."
Mechanically, stored XSS differs from reflected XSS in that the attacker's payload is persisted server-side — typically in a database, content repository, or form-submission store — and then rendered into HTML on subsequent page views without adequate output encoding or input sanitization. In the AEM context, "form fields" refers to the input surfaces exposed by AEM's authoring and form components. The description does not enumerate specific servlets, components, selectors, or API paths, and no such specifics are reproduced here to avoid fabrication.
Key characteristics derivable from the provided data:
- Attack vector (AV:N): Network-exploitable; no local access required.
- Attack complexity (AC:L): Low; no special conditions or race windows are required per the vector.
- Privileges required (PR:N): None; the attacker does not need an authenticated account to submit the malicious content according to the vector.
- User interaction (UI:R): Required; a victim must browse to the page rendering the vulnerable field.
- Scope (S:C): Changed — exploitation can affect resources beyond the vulnerable component's security authority, consistent with script execution in a victim's browser session that may reach adjacent resources.
- Confidentiality (C:H) / Integrity (I:H): High impact to both; the injected script executes with the victim's session privileges.
- Availability (A:N): No direct availability impact.
The "scope changed" designation is significant: because the payload executes in the victim's browser under the AEM application's origin, it can act on behalf of the victim across that origin, including session-bound operations. The precise sanitization or encoding failure (e.g., missing context-aware output encoding, insufficient Content Security Policy enforcement, or bypass of an input filter) is not specified in the available description and should not be assumed.
Exploitation Scenarios
No public PoC, exploit code, or Nuclei template is available. The attack chain below is inferred at the vulnerability-class level (stored XSS) from the NVD description and CVSS metadata. Specific component names, endpoints, or parameter names are intentionally omitted because they are not provided in the source data.
Reconnaissance / target identification. The attacker identifies an internet- or intranet-exposed Adobe Experience Manager instance. Reconnaissance focuses on locating forms or content surfaces that persist user-supplied input and later render it back to other users (self-service forms, comment/feedback fields, profile or submission forms, or authored content fields). Public indexing via search engines or Shodan-style fingerprinting of AEM headers and static asset paths can assist identification.
Triggering the flaw class. Because this is a stored XSS with PR:N and AC:L, the attacker submits crafted input into a vulnerable form field. The application accepts and persists the input without adequate neutralization. No authentication is strictly required by the vector, though the precise submission path is not specified in the available data.
Payload / execution. The persisted content is later served inside an HTML response without proper output encoding. When any user — including higher-privileged authors, administrators, or other site visitors — browses to the page containing the vulnerable field, the injected script executes in that victim's browser under the AEM origin. At the vulnerability-class level, the payload is JavaScript; the exact injection context (HTML body, attribute, script block) is not specified and is not assumed here.
Post-exploitation impact. Execution occurs with the victim's session authority (scope changed, C:H/I:H). Typical stored-XSS consequences at this severity include session token or cookie theft, authenticated action forgery on behalf of the victim, credential harvesting via injected UI, redirection to attacker infrastructure, and potential escalation to administrative control if a privileged user views the page. The "elevated access or control over the victim's account or session" language in the description is consistent with session hijacking or account takeover of the viewing user.
Because no exploit code exists publicly, defenders should treat the attack chain as a realistic but unconfirmed class-level model and prioritize detection and hardening rather than signature-only matching.
Impact Assessment
- Severity: CVSS v3.1 base 9.3 (Critical). The combination of AV:N/AC:L/PR:N/UI:R/S:C with C:H/I:H produces a critical rating despite the user-interaction requirement.
- Confidentiality (High): The injected script can read data accessible to the victim's session, including page content, tokens, and potentially sensitive data rendered to that user.
- Integrity (High): The script can modify content and perform state-changing actions in the victim's context.
- Availability (None): No direct denial-of-service impact per the vector.
- Scope (Changed): Impact may extend beyond the vulnerable component to other resources within the victim's session/browser authority, magnifying blast radius.
- Affected systems: Any Adobe Experience Manager deployment that persists and renders user-supplied form content without proper neutralization. Exact affected version ranges are not provided in the source data.
- Blast radius: Because it is stored, a single successful injection can affect every user who views the compromised page — including administrators — creating a lateral escalation path and a persistent compromise of site trust. Public-facing AEM sites additionally expose anonymous visitors.
Detection Guidance
Sigma Rule
title: Potential Stored XSS Payload Submission to Adobe Experience Manager Forms
id: 8b6b2f2e-3c1a-4b7a-9f2e-1a2b3c4d5e6f
status: experimental
description: Detects HTTP requests containing common script-injection patterns in form parameters, consistent with stored XSS attempts against AEM form fields.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-106630
author: valtersit.com
date: 2026/01/01
logsource:
category: webserver
product: apache
detection:
selection_method:
cs-method:
- 'POST'
- 'PUT'
selection_payload:
cs-uri-query|contains:
- '<script'
- 'onerror='
- 'onload='
- 'javascript:'
- '%3Cscript'
- 'svg/onload'
condition: selection_method and selection_payload
falsepositives:
- Legitimate rich-text content authoring
- Security scanners and penetration testing
level: high
tags:
- attack.t1059.007
- cve.2026-106630
YARA Rule
rule CVE_2026_106630_AEM_Stored_XSS_Payload
{
meta:
description = "Detects script-injection artifacts in stored form content for CVE-2026-106630 (AEM stored XSS)."
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-106630"
date = "2026-01-01"
severity = "critical"
strings:
$s1 = "<script" nocase
$s2 = "javascript:" nocase
$s3 = "onerror=" nocase
$s4 = "onload=" nocase
$s5 = "document.cookie" nocase
$s6 = "svg/onload" nocase
$s7 = "<script" nocase
condition:
uint16(0) == 0x3C21 or
(2 of ($s*) and filesize < 512KB)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-106630 Adobe Experience Manager Stored XSS Attempt"; flow:established,to_server; http.method; content:"POST"; http.header; content:"Content-Type"; nocase; http.client_body; content:"<script"; nocase; http.client_body; content:"onerror="; nocase; reference:cve,2026-106630; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-106630; classtype:web-application-attack; sid:2026106630; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=1m
[network where http.request.method == "POST" and
http.request.body.content : ("<script" or "onerror=" or "javascript:" or "svg/onload")]
Splunk SPL Query
index=web sourcetype=access_combined OR sourcetype=stream:http
| search (uri_query="*<script*" OR form_data="*onerror=*" OR form_data="*javascript:*" OR form_data="*svg/onload*")
| eval severity="critical", cve="CVE-2026-106630"
| table _time, src_ip, clientip, uri, uri_query, status, severity, cve
| sort - _time
Wazuh OSSEC Rule
<group name="web,appsec,cve-2026-106630,">
<rule id="100630" level="12">
<decoded_as>web-accesslog</decoded_as>
<match><script|onerror=|javascript:|svg/onload</match>
<description>CVE-2026-106630: Possible AEM stored XSS payload submission detected in HTTP request.</description>
<mitre>
<id>T1059.007</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
Immediate mitigations.
- Apply strict, context-aware output encoding wherever persisted form input is rendered in HTML (HTML body, attribute, JS, and URL contexts).
- Sanitize and validate all inbound form input server-side; reject or neutralize HTML/script constructs in fields that should not accept rich markup.
- Deploy a strong Content Security Policy (CSP) with
script-srcrestrictions and nounsafe-inlineto limit injected-script execution. - Set session cookies with
HttpOnlyandSecure, and applySameSiteattributes to reduce token theft impact. - Restrict public exposure of authoring interfaces and require re-authentication for privileged actions.
- Deploy the detection rules above and monitor for anomalous form submissions.
Patch / upgrade steps.
- No vendor patch or fixed version is identified in tracked sources. Monitor Adobe's official security bulletin channel (helpx.adobe.com/security.html) for an AEM advisory for CVE-2026-106630 and apply the vendor-provided update as soon as released.
- Until a patch is available, treat all AEM instances as unpatched and rely on compensating controls.
Long-term hardening.
- Adopt secure coding standards for XSS prevention (OWASP ASVS / XSS Prevention Cheat Sheet).
- Implement a web application firewall (WAF) with XSS rulesets as defense in depth — not as a sole control.
- Enforce least privilege for content authors and administrators; segment authoring from publish environments.
- Perform regular authenticated and unauthenticated XSS testing against AEM forms as part of SDLC and continuous assessment.
References
- NVD — CVE-2026-106630: https://nvd.nist.gov/vuln/detail/CVE-2026-106630
- Adobe Security Bulletins (monitor for AEM advisory): https://helpx.adobe.com/security.html
- MITRE ATT&CK — T1059.007 (Command and Scripting Interpreter: JavaScript): https://attack.mitre.org/techniques/T1059/007/
- OWASP — Cross Site Scripting (XSS) Prevention Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
- CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'): https://cwe.mitre.org/data/definitions/79.html
No CISA KEV listing, known threat-actor campaign, or exploit-in-the-wild evidence was identified in the provided data.
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.