Skip to main content

Appsmith CVE-2026-49979

MEDIUM
Error Message Information Leak (CWE-209)
2026-06-24 GitHub_M
5.1
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain or hold Appsmith admin credentials
  2. Delivery
    Authenticate to Appsmith admin API
  3. Exploit
    POST to /api/v1/admin/send-test-email with crafted smtpHost and smtpPort
  4. Execution
    JavaMail raw TCP connection bypasses IP_CHECK_FILTER
  5. Persist
    Read verbatim MailException from API response
  6. Impact
    Enumerate 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (GitHub_M) PRIMARY 5.1 MEDIUM
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
vuln.today AI 4.1 MEDIUM

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.

3.1 AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
Popular low-code internal tooling platform with growing enterprise adoption
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:appsmithorg:appsmith:*:*:*:*:*:*:*:*
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2026-22794 CRITICAL POC
9.6 Jan 12

Appsmith before 1.93 allows attackers to control the Origin header value used as the base URL in password reset and emai

CVE-2022-39824 HIGH POC
8.9 Sep 05

Server-side JavaScript injection in Appsmith through 1.7.14 allows remote attackers to execute arbitrary JavaScript code

CVE-2024-51408 MEDIUM POC
6.5 Nov 04

AppSmith Community 1.8.3 before 1.46 allows SSRF via New DataSource for application/json requests to 169.254.169.254 to

CVE-2022-4096 MEDIUM POC
6.5 Nov 21

Server-Side Request Forgery (SSRF) in GitHub repository appsmithorg/appsmith prior to 1.8.2. Rated medium severity (CVSS

CVE-2026-55454 CRITICAL
9.9 Jun 24

Reverse-proxy takeover in Appsmith versions prior to 2.1 lets an authenticated low-privileged user abuse server-side req

CVE-2026-5418 MEDIUM POC
5.5 Apr 02

Server-side request forgery (SSRF) in Appsmith Dashboard component allows unauthenticated remote attackers to manipulate

CVE-2026-24042 CRITICAL
9.4 Jan 22

Appsmith platform version 1.94 and below has a missing authorization vulnerability that allows unauthenticated access to

CVE-2026-7299 MEDIUM POC
5.4 Jun 02

Stored XSS in Appsmith's SQL query editor autocomplete allows an authenticated Developer-role user to inject persistent

CVE-2026-30862 CRITICAL
9.0 Mar 10

Appsmith platform prior to version 1.96 has a critical stored XSS enabling account takeover through crafted admin panel

CVE-2026-50189 HIGH
8.9 Jun 24

Authenticated command execution in Appsmith versions prior to 2.1 lets any administrator run arbitrary OS commands insid

CVE-2022-38298 HIGH
8.8 Sep 12

Appsmith v1.7.11 was discovered to allow attackers to execute an authenticated Server-Side Request Forgery (SSRF) via re

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy