CVE-2026-43910
PoC moderateSSRF and session traffic hijack in Appium Java Client directConnect mode
Appium Java Client from version 8.2.1 until 10.1.1 contains a flaw in the optional directConnect feature: when directConnect(true) is enabled, AppiumCommandExecutor.setDirectConnect() rebuilds the server URL from the directConnectHost, directConnectPort, and directConnectPath values returned in the Appium server's NEW_SESSION response, validating only that the protocol is https with no host allowlist or IP validation. A rogue or compromised Appium server, or anything able to tamper with that response, can therefore point the client at an arbitrary destination, and all subsequent traffic for that test session is redirected there. An attacker gains full interception of the redirected session traffic and can use the client as a server-side request forgery pivot to reach internal services from the test machine's network position, including cloud instance metadata (IMDS) endpoints for credential theft. Exposure is limited to teams running tests with the affected Java client versions and directConnect enabled; Appium servers and other language bindings are not the vulnerable component. No in-the-wild exploitation is reported; the flaw is documented in a public GitHub advisory, EPSS estimates only a 0.3% chance of exploitation within 30 days, and it is not in CISA KEV.
What to do: Upgrade Appium Java Client to 10.1.1 or later. Until patched, avoid enabling directConnect(true) or verify that directConnect host/port/path values returned by your Appium server/grid are from a trusted allowlist, since any rogue or compromised server can hijack session traffic. Review the network position of test/CI machines for SSRF pivot risk, especially cloud instances where metadata (IMDS) credential theft is possible.
| appium java-client | >=8.2.1 and <10.1.1 (when directConnect(true) is enabled); fixed in 10.1.1 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Appium Java Client is the Java language binding for writing Appium tests that conform to the W3C WebDriver protocol. From 8.2.1 until 10.1.1, when directConnect(true) is enabled, AppiumCommandExecutor.setDirectConnect() reads the directConnectHost, directConnectPort, and directConnectPath fields from the server's NEW_SESSION response and rebuilds the client's server URL from them, validating only that the protocol is https, with no host allowlist or IP validation; a rogue or compromised server can therefore redirect all subsequent session traffic to an arbitrary destination, enabling full interception of session traffic and a server-side request forgery pivot to internal hosts, including cloud metadata (IMDS) credential theft. This vulnerability is fixed in 10.1.1.
- Vendors
- appium
- Products
- java-client
- Weakness
- CWE-441, CWE-918
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
In the news0 stories
No ingested article mentions this CVE yet.