
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-43910 is a Server-Side Request Forgery (SSRF) and Confused Deputy vulnerability in the Appium Java Client (io.appium:java-client) that allows a rogue or compromised Appium server to redirect all subsequent session traffic to an arbitrary attacker-controlled destination. When directConnect(true) is enabled, the client unconditionally accepts directConnectHost, directConnectPort, and directConnectPath values from the server's NEW_SESSION response without validating the destination host or port. Affected versions are >= 8.2.1 and <= 10.1.0; the vulnerability is fixed in version 10.1.1. It was published on July 27–28, 2026, and carries a CVSS v3.1 base score of 8.2 (High) (Github Advisory, Feedly).
The root cause lies in AppiumCommandExecutor.java (lines 196–219), where setDirectConnect() builds a new URL from server-supplied fields (directConnectHost, directConnectPort, directConnectPath) and calls overrideServerUrl(newUrl) with no host/IP allowlist validation — only the protocol (must be https) is checked. This maps to CWE-441 (Unintended Proxy or Intermediary / Confused Deputy) and CWE-918 (SSRF). An attacker controlling or compromising the Appium server can inject arbitrary values into the NEW_SESSION response, causing the Java client to silently redirect all subsequent WebDriver session commands (e.g., GET /session/{id}/source, DELETE /session/{id}) to the attacker's endpoint. A confirmed PoC was included in the advisory, demonstrating redirection to https://127.0.0.1:4443/wd/hub with no client-side warning (Github Advisory, Fix PR).
Successful exploitation enables full interception of Appium session traffic, including session tokens, credentials, and sensitive test data, without any user notification. The vulnerability also enables network pivoting to internal RFC-1918 hosts and cloud Instance Metadata Service (IMDS) endpoints (e.g., 169.254.169.254), facilitating cloud credential theft. In CI/CD environments where directConnect(true) is set in shared base configurations, the blast radius is significantly elevated, as all test sessions could be silently compromised (Github Advisory, Feedly).
POST /wd/hub/session (NEW_SESSION) requests.NEW_SESSION response to include directConnectHost, directConnectPort, and directConnectPath pointing to an attacker-controlled host (e.g., directConnectHost=attacker.example.com, directConnectPort=4443, directConnectPath=/wd/hub).directConnect(true) enabled to connect to the rogue server — for example, by poisoning CI/CD configuration, DNS, or via a man-in-the-middle position on the network.NEW_SESSION response, all subsequent WebDriver commands (e.g., GET /wd/hub/session/{id}/source, DELETE /wd/hub/session/{id}) are silently sent to the attacker's endpoint, exposing session tokens, credentials, and test data.directConnectHost=169.254.169.254 to redirect session traffic to the cloud IMDS endpoint, enabling theft of IAM credentials or other cloud metadata (Github Advisory).10.x.x.x, 192.168.x.x, 172.16-31.x.x) or 169.254.169.254 originating from the test runner process.directConnect redirection to an unexpected host/port after session creation; log entries such as Injecting directConnect -> https://<unexpected-host>:<port>/wd/hub.127.0.0.1) or link-local addresses.directConnect(true) is enabled in shared test configurations (Github Advisory).Upgrade io.appium:java-client to version 10.1.1, which introduces the DirectConnectUrlSafety helper class that validates override URLs and rejects loopback, link-local (including 169.254.x.x), unspecified, and multicast destinations before calling overrideServerUrl() (v10.1.1 Release, Fix PR). As a workaround for those unable to upgrade immediately, disable directConnect(true) unless strictly necessary. Additionally, implement network-level egress controls to restrict the test client from connecting to unauthorized Appium servers or internal metadata endpoints, and monitor client logs for unexpected directConnect redirects (Github Advisory).
The vulnerability was reported by security researcher RobertoLuzanilla and published via GitHub Security Advisory on July 27–28, 2026. The fix was developed by Appium maintainer mykola-mokhnach and reviewed by multiple code owners, with the patch merged on April 19, 2026 (prior to public disclosure). No significant broader media coverage or notable social media reactions have been identified beyond the advisory and standard vulnerability database aggregation (Github Advisory, Fix PR).
DirectConnectUrlSafety validationSource: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."