Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Appsmith with low-privilege account
-
DeliveryNavigate to REST API or GraphQL datasource configuration
-
ExploitSupply loopback URL variant bypassing exact-match denylist
-
ExecutionTrigger outbound HTTP request via WebClientUtils
-
PersistReceive response from internal loopback-bound container service
-
ImpactProbe or interact with internal services
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated Appsmith session with at least low-privilege access to create or modify REST API or GraphQL datasource plugin configurations - the vulnerable code path is only reachable through these two plugin types. The SMTP plugin path is not affected. The degree of real-world impact depends on what loopback-bound services are reachable inside the container at the time of exploitation; environments running additional internal services (metadata endpoints, internal APIs) on loopback are at elevated risk. Exploitation is limited by: (1) requirement for an authenticated Appsmith account with datasource-editing permissions, and (2) access is bounded to services reachable from within the container's loopback interface, not arbitrary external hosts. |
| Impact | The CVSS 4.0 base score of 5.3 (Medium) with vector AV:N/AC:L/AT:N/PR:L/UI:N reflects the real-world constraint: exploitation requires a low-privilege authenticated session, which substantially limits the exposed attack surface compared to unauthenticated SSRF. The low complexity (AC:L, AT:N) means that once inside the application, crafting a bypassing request requires no special conditions or race timing. The confidentiality and integrity impact is rated low (VC:L/VI:L), consistent with the ability to probe and interact with internal loopback services rather than directly exfiltrate bulk data. Real-world risk scales significantly with deployment posture: in containerized environments where internal microservices, metadata endpoints (e.g., cloud provider IMDS at 169.254.169.254), or administrative APIs are co-located and unauthenticated, the practical impact exceeds what the CVSS score alone suggests. No KEV listing and no identified POC confirm this has not been widely exploited. EPSS data is not available in the provided intelligence. The absence of external scope change metrics (SC:N/SI:N) in the vendor-supplied CVSS 4.0 vector may understate cross-service reachability in multi-container deployments - this is a point of ambiguity that defenders in complex environments should verify independently. |
| Exploit ScenarioDerived | An authenticated Appsmith user with datasource configuration permissions creates a new REST API datasource and sets the base URL to a loopback address variant not matched by the exact-match string denylist (e.g., an IPv6 representation of localhost or a non-standard encoding). The platform's WebClientUtils issues the outbound HTTP request without triggering the comprehensive address-class check, reaching an internal container service such as an unauthenticated admin API or metadata endpoint. No public proof-of-concept code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
Server-side request forgery in Appsmith prior to version 2.1 allows authenticated users to reach loopback-bound services inside the deployment container by exploiting a split code path in host validation logic. The WebClientUtils component used by REST API and GraphQL datasource plugins enforces only an exact-match string denylist, while the comprehensive address-class check covering loopback, any-local, link-local, and fc00::/7 IPv6 ranges exists solely on the SMTP plugin code path - leaving the HTTP path bypassable. No public exploit code has been identified at time of analysis, and this CVE does not appear in the CISA KEV catalog.
RemediationAI
Upgrade Appsmith to version 2.1 or later, which introduces the comprehensive address-class validation (loopback, any-local, link-local, fc00::/7) on the HTTP plugin code path in WebClientUtils, closing the denylist bypass. The fix is detailed in GitHub Security Advisory GHSA-m23h-pvf3-2m7p at https://github.com/appsmithorg/appsmith/security/advisories/GHSA-m23h-pvf3-2m7p. If immediate upgrade is not possible, compensating controls include restricting which Appsmith user roles are permitted to create or edit REST API and GraphQL datasource configurations, thereby reducing the population of users who can exploit the bypass. Network-level egress filtering on the container host to block outbound connections from Appsmith to 127.0.0.0/8, ::1, 169.254.0.0/16, and fc00::/7 provides a defense-in-depth layer, though this may interfere with legitimate internal datasource connectivity and should be tested before production deployment.
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
Appsmith is an open-source low-code platform (CPE: cpe:2.3:a:appsmithorg:appsmith:*:*:*:*:*:*:*:*) that allows users to build admin panels and internal dashboards by connecting to external datasources including REST APIs, GraphQL endpoints, and SMTP servers. The vulnerability is rooted in CWE-918 (Server-Side Request Forgery), a class of flaw where a server-side component makes outbound HTTP requests controlled by user input without sufficiently validating the destination. The specific root cause is architectural inconsistency: the WebClientUtils class validates outbound HTTP destinations using an exact-match string denylist, while a separate, more robust check that evaluates IP address class membership - blocking loopback (127.0.0.0/8, ::1), any-local, link-local, and the fc00::/7 ULA IPv6 range - was implemented only for the SMTP plugin path. This denylist-only approach on the HTTP path is inherently weaker because string matching fails to account for alternative IP encodings, IPv6 representations, and canonicalization variations that resolve to blocked ranges.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-exploitable with authenticated low-privilege access; scope changes to internal container services justify S:C, with low C and I reflecting limited service probing impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Appsmith is a platform to build admin panels, internal tools, and dashboards. Prior to 2.1, the outbound HTTP host filter applied by WebClientUtils (used by the REST API and GraphQL datasource plugins) validates hosts against an exact-match string denylist. The comprehensive address-class check (loopback, any-local, link-local, fc00::/7) exists only on a separate code path used by SMTP, not by the HTTP plugin path. As a result, an authenticated user can craft outbound requests that reach loopback-bound services inside the container. This vulnerability is fixed in 2.1.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
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
Stored XSS in Appsmith's SQL query editor autocomplete allows an authenticated Developer-role user to inject persistent
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
EUVD-2026-39111
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB