Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker obtains Developer role in Appsmith workspace
-
DeliveryCreates or modifies SQL datasource with malicious object name
-
ExploitXSS payload persists in server-side schema metadata
-
InstallVictim opens SQL query editor on poisoned datasource
-
C2Autocomplete renders object name via innerHTML unsanitized
-
ExecuteBrowser executes injected JavaScript in victim session
-
ImpactSession credentials exfiltrated to attacker
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must hold at minimum a Developer role within the target Appsmith workspace, confirmed by the CVSS PR:L (low privilege required) indicator - unauthenticated exploitation is not possible. The victim must actively interact with the SQL query editor's autocomplete feature while connected to the compromised datasource, satisfying CVSS UI:R (user interaction required). The datasource must be shared across workspace members so that victims have access to and interact with the poisoned schema. Workspace members who never open the SQL query editor against that specific datasource are not exposed. No non-default Appsmith configuration is required beyond a standard shared SQL datasource. Exploitation is constrained to the Appsmith application's browser security context (S:U - unchanged scope), meaning the injected script cannot directly access other browser origins. Limiting factors for defenders: revoke or restrict Developer role assignment; audit datasource schema object names for injection payloads; monitor for unexpected outbound requests from the Appsmith frontend. |
| Impact | The CVSS 6.3 (Medium) vector AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N accurately captures the network-reachable, low-complexity nature of the attack while acknowledging the two limiting factors: the attacker requires low-privilege (Developer) access (PR:L), and a victim must interact with the poisoned autocomplete (UI:R). The High confidentiality impact (C:H) is well-founded given the ability to steal active session tokens and exfiltrate workspace data across all affected users. No EPSS score was provided in the intelligence input, so exploitation probability cannot be quantified from that signal. This CVE is not confirmed in the CISA KEV catalog based on available data. However, the public PoC exploit substantially elevates real-world exploitation likelihood above the raw CVSS score - stored XSS with a working exploit and low-privilege entry point is operationally higher priority than a reflected XSS at the same score. The 'RCE' tag in the intelligence data is imprecise: the actual impact is browser-context JavaScript execution (session hijacking, credential theft, UI manipulation), not server-side remote code execution - defenders should scope their incident response accordingly. SSVC signals: exploitation status is 'PoC publicly available' (not confirmed in-the-wild), automatable once Developer access is obtained, technical impact is partial (browser session scope, not full system compromise). |
| Exploit ScenarioDerived | An attacker with Appsmith Developer role access connects a SQL datasource and renames a table or column to a JavaScript payload such as an image tag with an onerror handler that beacons the victim's session cookie to an attacker-controlled endpoint. When any other workspace member opens the SQL query editor and types in the query window - triggering autocomplete for that datasource - the browser renders the malicious object name via innerHTML, silently executing the payload and exfiltrating the victim's active session token. A public proof-of-concept targeting Appsmith 1.98 is available at https://github.com/Stuub/Appsmith-1.98-Stored-XSS-Exploit, significantly lowering the technical barrier and enabling exploitation by less-skilled attackers. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 02, 2026
Stored XSS in Appsmith's SQL query editor autocomplete allows an authenticated Developer-role user to inject persistent malicious JavaScript via crafted database table or column names that are rendered unsanitized through innerHTML. When other workspace members interact with the same datasource's query editor, the injected script executes in their browser session, enabling session token theft and unauthorized actions with high confidentiality impact (CVSS C:H). A public proof-of-concept exploit exists (Stuub/Appsmith-1.98-Stored-XSS-Exploit on GitHub), and the vulnerability was reported by CERT/CC, materially elevating practical exploitation risk above what the CVSS 6.3 Medium score alone implies.
RemediationAI
Upgrade to Appsmith v2.1 or later, referenced by the GitHub release tag at https://github.com/appsmithorg/appsmith/releases/tag/v2.1 and associated commit https://github.com/appsmithorg/appsmith/commit/99d69180919981ed9bc5484050d809a5bec68acc. The upstream fix is tracked in PR #41666 (https://github.com/appsmithorg/appsmith/pull/41666); consult the security advisory at https://github.com/appsmithorg/appsmith/security/advisories/GHSA-vvxf-f8q9-86gh for vendor-confirmed remediation scope. If immediate patching is not feasible, restrict the Developer role to explicitly trusted internal users as a compensating control, since the attacker must hold at least Developer-level workspace access - this reduces the attack surface but does not eliminate it, as insider-threat scenarios remain. As a detection measure, audit all existing datasource table and column names for embedded HTML tags or script content. Note that the patch version v2.1 is inferred from the GitHub releases reference and has not been independently verified against a vendor changelog.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in Appsmith's SQL query editor autocomplete component, which fetches database schema metadata (table and column names) from connected datasources and renders them into the DOM via innerHTML without HTML entity encoding or output sanitization. This makes innerHTML a dangerous sink for attacker-controlled content sourced from datasource schema. The affected product per CPE string cpe:2.3:a:appsmith:appsmith:*:*:*:*:*:*:*:* covers all Appsmith versions. No CWE is formally assigned in the advisory, but the root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS variant), where the malicious payload is written once into datasource metadata and subsequently re-executed for every affected user who triggers autocomplete. Because the payload is persistent server-side, it is not a reflected or DOM-only transient attack - every workspace member sharing that datasource is a potential victim on each subsequent editor interaction.
Know when Appsmith gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
2DescriptionNVD
Appsmith’s SQL query editor’s autocomplete functionality fails to sanitize database object names before rendering them in innerHTML, allowing an authenticated Developer to inject persistent XSS by a malicious table or column names triggering arbitrary code execution in the sessions of other workspace members when they interact with the same datasource.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
Appsmith before 1.93 allows attackers to control the Origin header value used as the base URL in password reset and emai
Server-side JavaScript injection in Appsmith through 1.7.14 allows remote attackers to execute arbitrary JavaScript code
AppSmith Community 1.8.3 before 1.46 allows SSRF via New DataSource for application/json requests to 169.254.169.254 to
Server-Side Request Forgery (SSRF) in GitHub repository appsmithorg/appsmith prior to 1.8.2. Rated medium severity (CVSS
Reverse-proxy takeover in Appsmith versions prior to 2.1 lets an authenticated low-privileged user abuse server-side req
Server-side request forgery (SSRF) in Appsmith Dashboard component allows unauthenticated remote attackers to manipulate
Appsmith platform version 1.94 and below has a missing authorization vulnerability that allows unauthenticated access to
Appsmith platform prior to version 1.96 has a critical stored XSS enabling account takeover through crafted admin panel
Authenticated command execution in Appsmith versions prior to 2.1 lets any administrator run arbitrary OS commands insid
Appsmith v1.7.11 was discovered to allow attackers to execute an authenticated Server-Side Request Forgery (SSRF) via re
Appsmith versions prior to 1.98 allow unauthenticated remote attackers to access sensitive instance management API endpo
EUVD-2026-33936
GHSA-6j63-xfwq-f8vj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB