Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Low-priv authenticated user (PR:L) drives an SSRF over the network (AV:N/AC:L); reverse-proxy takeover is a scope change (S:C) with full C/I/A compromise of fronted traffic.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Lifecycle Timeline
3DescriptionCVE.org
Appsmith is a platform to build admin panels, internal tools, and dashboards. Prior to 2.1, the bundled Caddy reverse-proxy's admin API - which has no authentication by default - is bound on 0.0.0.0:2019 inside the container. While this listener is not directly published to the host by docker-compose.yml, it is reachable from the Appsmith server process itself or a SSRF vulnerability. An authenticated low-privileged user can therefore drive the SSRF to issue POST /load (or any other admin-API call) against http://0.0.0.0:2019/, fully replacing the live Caddy configuration and taking over the reverse proxy. This vulnerability is fixed in 2.1.
Articles & Coverage 1
AnalysisAI
Reverse-proxy takeover in Appsmith versions prior to 2.1 lets an authenticated low-privileged user abuse server-side request forgery to reach the bundled Caddy admin API, which ships with no authentication and listens on 0.0.0.0:2019 inside the container. By forcing the Appsmith server to issue a POST /load to that internal endpoint, the attacker rewrites the live Caddy configuration and seizes control of the reverse proxy that fronts the application. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires an authenticated low-privileged Appsmith account (CVSS PR:L) on a version prior to 2.1 deployed via the bundled Docker image where Caddy's admin API is bound to 0.0.0.0:2019, plus a usable SSRF primitive that coerces the Appsmith server process to issue requests to that internal endpoint (e.g., abusing data-source/outbound-request features). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The published CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H = 9.9) reflects a network-reachable, low-complexity attack needing only low privileges, with a scope change because compromising Caddy affects a component beyond the vulnerable backend. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | A low-privileged user logs into a self-hosted Appsmith instance and configures a data source or REST API action pointing at http://0.0.0.0:2019/load, then triggers the Appsmith server to send a crafted POST containing attacker-chosen Caddy JSON configuration. Caddy accepts the unauthenticated request and reloads, handing the attacker control of the reverse proxy so they can intercept or redirect all traffic and serve malicious content. … |
| Remediation | Upgrade to Appsmith 2.1 or later, which is the vendor-released patch that corrects the Caddy admin-API binding (Vendor-released patch: 2.1; see GHSA-8jvv-gwqg-6vjc at https://github.com/appsmithorg/appsmith/security/advisories/GHSA-8jvv-gwqg-6vjc). … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
24 hours: Inventory all Appsmith instances and confirm version levels; enable logging for reverse-proxy configuration changes and port 2019 access; restrict network egress from containers to block internal SSRF. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
More from same product – last 7 days
Remote code execution in Gogs self-hosted Git service before 0.14.3 allows unauthenticated attackers (where self-registr
Unauthenticated NoSQL operator injection in Budibase self-hosted server (@budibase/server <= 3.39.0) allows anonymous vi
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Arbitrary file read in Budibase self-hosted server (@budibase/server <= 3.39.0) allows an authenticated workspace builde
Authentication bypass in Crawl4AI Docker API server (versions prior to 0.8.7) allows remote unauthenticated attackers to
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39118