CVE-2026-50189 Overview
CVE-2026-50189 affects Appsmith, an open-source platform used to build admin panels, internal tools, and dashboards. Versions prior to 2.1 bundle a supervisord instance that exposes an XML-RPC interface on port 9001. A Caddy reverse-proxy route at /supervisor/* makes this interface reachable from outside the container on the public ingress. The APPSMITH_SUPERVISOR_PASSWORD value is returned by GET /api/v1/admin/env, allowing any authenticated administrator to issue arbitrary XML-RPC calls. Attackers can invoke twiddler.addProgramToGroup to execute operating system commands inside the Docker container. The issue is fixed in Appsmith 2.1.
Critical Impact
Authenticated administrators can achieve remote code execution inside the Appsmith container, leading to full compromise of the application host.
Affected Products
- Appsmith versions prior to 2.1
- Self-hosted Appsmith Docker deployments exposing the Caddy ingress
- Appsmith instances with the bundled supervisord XML-RPC endpoint
Discovery Timeline
- 2026-06-24 - CVE-2026-50189 published to NVD
- 2026-06-24 - Last updated in NVD database
Technical Details for CVE-2026-50189
Vulnerability Analysis
The vulnerability stems from exposing an internal process control interface through the public ingress. Appsmith bundles supervisord to manage container processes and binds its XML-RPC management interface on port 9001. The Caddy reverse-proxy configuration includes a /supervisor/* route that forwards external traffic directly to this interface. Authentication to supervisord relies on the APPSMITH_SUPERVISOR_PASSWORD value. That same password is returned in clear text by the administrative endpoint GET /api/v1/admin/env, which any authenticated administrator can call. The combination collapses two trust boundaries into one. The weakness is classified under [CWE-183] (Permissive List of Allowed Inputs), reflecting overly broad exposure of a privileged management channel.
Root Cause
The root cause is an insecure default configuration. The bundled supervisord management interface should remain internal to the container. Instead, the reverse-proxy route exposes it externally while the administrator-readable environment endpoint discloses the supervisor credential.
Attack Vector
An authenticated administrator retrieves APPSMITH_SUPERVISOR_PASSWORD from /api/v1/admin/env. The attacker then sends authenticated XML-RPC requests to /supervisor/* and invokes twiddler.addProgramToGroup. This supervisord extension registers a new program definition whose command is executed inside the container, producing arbitrary OS command execution under the container user.
No verified public exploit code is available. Refer to the GitHub Security Advisory for technical details.
Detection Methods for CVE-2026-50189
Indicators of Compromise
- HTTP requests to the /supervisor/* path on the Appsmith ingress, especially with XML-RPC Content-Type: text/xml payloads
- Calls to /api/v1/admin/env followed within a short window by /supervisor/* traffic from the same session
- New or unexpected child processes spawned by the supervisord parent process inside the Appsmith container
- XML-RPC method names such as twiddler.addProgramToGroup, supervisor.startProcess, or supervisor.addProcessGroup appearing in proxy logs
Detection Strategies
- Inspect Caddy and ingress access logs for any external requests matching /supervisor/ and treat them as suspicious by default
- Correlate administrator API access to /api/v1/admin/env with subsequent process creation events inside the container
- Alert on unexpected program group additions in supervisord logs within the container
Monitoring Recommendations
- Forward Appsmith container logs and Caddy proxy logs to a centralized logging platform for retention and analysis
- Monitor outbound network connections from the Appsmith container for command-and-control or reverse shell patterns
- Track administrator account activity and review which accounts access /api/v1/admin/env
How to Mitigate CVE-2026-50189
Immediate Actions Required
- Upgrade Appsmith to version 2.1 or later, which removes the public /supervisor/* route and the password disclosure
- Rotate the APPSMITH_SUPERVISOR_PASSWORD and any administrator credentials that may have been exposed
- Audit administrator accounts and remove unused or excessive privileges
- Review container logs for prior access to /supervisor/* or unexpected process additions
Patch Information
The vulnerability is fixed in Appsmith 2.1. Refer to the GitHub Security Advisory for upgrade instructions and the underlying configuration changes.
Workarounds
- Block the /supervisor/* path at an upstream reverse proxy, web application firewall, or load balancer
- Restrict network access to port 9001 on the Appsmith container to localhost only
- Remove or redact the APPSMITH_SUPERVISOR_PASSWORD value from any endpoint that returns environment variables
- Place the Appsmith ingress behind an authenticated VPN or zero-trust gateway until patching is complete
# Configuration example: block the supervisor path at an upstream proxy
# nginx snippet placed in front of the Appsmith ingress
location ~* ^/supervisor(/|$) {
return 403;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

