Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-50189

CVE-2026-50189: Appsmith Supervisord RCE Vulnerability

CVE-2026-50189 is a remote code execution flaw in Appsmith's supervisord that allows authenticated admins to execute OS commands via exposed XML-RPC calls. This post explains its impact, affected versions, and mitigation steps.

Published:

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
bash
# 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.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.