Appsmith
CVE-2026-49979
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or hold Appsmith admin credentials
-
DeliveryAuthenticate to Appsmith admin API
-
ExploitPOST to /api/v1/admin/send-test-email with crafted smtpHost and smtpPort
-
ExecutionJavaMail raw TCP connection bypasses IP_CHECK_FILTER
-
PersistRead verbatim MailException from API response
-
ImpactEnumerate internal network hosts and service banners
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Error message sanitization
MITRE ATT&CK
1 technique across 1 tactic: Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires authenticated Appsmith admin-level access (PR:H per CVSS 4.0 vector) to call the POST /api/v1/admin/send-test-email endpoint with a JSON body supplying arbitrary smtpHost and smtpPort values. The Appsmith server must have network-layer reachability to the internal targets being probed - exploitation is highest-impact in cloud or enterprise environments where the Appsmith host can reach internal databases, orchestration APIs, or instance metadata services. The key enabling condition is that the existing IP_CHECK_FILTER bypass applies specifically because JavaMail uses raw TCP sockets rather than Spring WebClient HTTP connections; no non-default configuration is required. Exploitation is limited by the PR:H requirement (admin credentials must be obtained or already held) and by the read-only, confidentiality-only nature of the impact (no write or destructive capability). |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N) scores 5.1 (Medium), which accurately reflects the key limiting factor: exploitation requires high-privilege (admin-level) access to the Appsmith instance. This substantially constrains the realistic attack surface. No EPSS score is provided in the available data, and this CVE does not appear in the CISA KEV catalog, meaning active exploitation is not confirmed. No public POC is identified. The real-world risk is deployment-context dependent: Appsmith instances that sit on networks reachable to sensitive internal services - internal databases, Kubernetes API servers, cloud instance metadata endpoints (169.254.169.254), or other restricted services - face meaningful lateral enumeration risk from a compromised or rogue administrator. In cloud-native deployments with rich internal metadata services, the SC:L (subsequent system confidentiality) impact is likely understated. There is no integrity or availability impact confirmed by the description or CVSS data. |
| Exploit ScenarioDerived | A malicious or compromised Appsmith administrator submits a POST request to /api/v1/admin/send-test-email with smtpHost set to an internal service address (e.g., 192.168.1.10 or 169.254.169.254) and smtpPort cycling through common service ports (22, 3306, 6443, 8080). JavaMail attempts a raw TCP connection, and the resulting MailException - which may include TCP-level error text or service banner fragments - is returned verbatim in the HTTP response, allowing systematic mapping of internal hosts and open services. No public POC has been identified, but the exploitation technique requires only standard HTTP client tooling and authenticated admin access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
Server-side request forgery and internal network enumeration in Appsmith (prior to 1.99) is enabled by the POST /api/v1/admin/send-test-email endpoint accepting attacker-controlled smtpHost and smtpPort values, which JavaMail uses to establish raw TCP connections without IP address validation - completely bypassing the application's existing WebClientUtils.IP_CHECK_FILTER. Verbatim MailException error messages are returned in API responses, enabling authenticated administrators (or attackers who have compromised admin credentials) to probe internal network topology, enumerate open ports, and harvest service banners. No public exploit identified at time of analysis; the vulnerability is fixed in version 1.99.
RemediationAI
Upgrade Appsmith to version 1.99 or later, which is the vendor-confirmed fix per GitHub Security Advisory GHSA-vvxf-f8q9-86gh (https://github.com/appsmithorg/appsmith/security/advisories/GHSA-vvxf-f8q9-86gh). For organizations unable to upgrade immediately, restrict access to the /api/v1/admin/send-test-email endpoint at the network perimeter, reverse proxy, or WAF layer - note this disables SMTP test functionality as a trade-off. Deploy egress network filtering on the Appsmith server host to block outbound connections to RFC-1918 addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local ranges (169.254.0.0/16 including cloud metadata), and any other sensitive internal CIDR ranges; this limits the reach of probes even if the endpoint remains callable. Tightly scope and audit Appsmith admin credentials and monitor for unusual calls to the SMTP test endpoint as a detection measure.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Appsmith is a low-code platform for building internal tools, admin panels, and dashboards, typically deployed in enterprise environments with privileged network access to internal infrastructure. The vulnerable endpoint POST /api/v1/admin/send-test-email uses the JavaMail API (javax.mail) to construct raw TCP socket connections to caller-supplied smtpHost and smtpPort values. Critically, the application's IP allowlist/blocklist enforcement (WebClientUtils.IP_CHECK_FILTER) is implemented only for Spring WebClient HTTP-layer requests and is architecturally blind to JavaMail's lower-level socket connections - creating a filter bypass. CWE-209 (Generation of Error Message Containing Sensitive Information) captures the root cause: the raw MailException.getMessage() string, which may contain connection-level details or service banners from the probed host, is reflected verbatim in the API response body. Affected product CPE: cpe:2.3:a:appsmithorg:appsmith:*:*:*:*:*:*:*:* for all versions prior to 1.99.
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:H/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Network-reachable admin endpoint; PR:H because admin credentials required; S:C because probing extends to systems beyond Appsmith itself; C:L for internal topology/banner leakage only.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Appsmith is a platform to build admin panels, internal tools, and dashboards. Prior to 1.99, the POST /api/v1/admin/send-test-email endpoint accepts attacker-controlled smtpHost and smtpPort values and establishes a raw JavaMail TCP connection without any IP validation. This completely bypasses WebClientUtils.IP_CHECK_FILTER, which only applies to Spring WebClient HTTP requests. Additionally, the raw MailException.getMessage() is returned verbatim in the API error response, enabling error-based internal port scanning and service banner enumeration. This vulnerability is fixed in 1.99.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
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
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB