Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Primary rating from Vendor (https://github.com/appium/java-client) · only source for this CVE.
CVSS VectorVendor: https://github.com/appium/java-client
Lifecycle Timeline
3Blast Radius
ecosystem impact- 66 maven packages depend on io.appium:java-client (2 direct, 64 indirect)
Ecosystem-wide dependent count for version 8.2.1.
DescriptionCVE.org
Summary
When directConnect(true) is enabled, appium/java-client unconditionally accepts directConnectHost, directConnectPort, and directConnectPath from the server's NEW_SESSION response and silently redirects all subsequent session traffic to the attacker-specified endpoint - with no allowlist, no host validation, and no user notification.
Affected Code
AppiumCommandExecutor.java(line 196-219):setDirectConnect()builds
a new URL from server-supplied fields and calls overrideServerUrl(newUrl) without validating host/IP.
DirectConnect.java:getUrl()constructsprotocol://host:port/path
with no allowlist.
Root Cause
Only the protocol is validated (must equal "https"). The destination host and port are never checked against any allowlist or denylist.
PoC (confirmed)
A rogue server injecting directConnectHost=127.0.0.1:4443 causes the client to silently redirect all post-session commands:
[bootstrap] POST /wd/hub/session [bootstrap] Injecting directConnect -> https://127.0.0.1:4443/wd/hub [redirect-target] HIT #1: GET /wd/hub/session/poc-session-001/source [redirect-target] HIT #2: DELETE /wd/hub/session/poc-session-001
Original source code unmodified - confirmed via git diff HEAD (empty).
Evidence Screenshots
Screenshot 1 - Rogue server capturing redirected traffic:
<img width="887" height="146" alt="1" src="https://github.com/user-attachments/assets/cc28002c-ea20-4ac8-8336-cec632e3c842" />
Screenshot 2 - Java client processing response from attacker host:
<img width="788" height="130" alt="2" src="https://github.com/user-attachments/assets/222cbab0-0d53-45b2-847d-6aa4e3b79370" />
Impact
- Full interception of session traffic
- Network pivot to internal hosts (RFC-1918, 169.254.169.254)
- Cloud credential theft via IMDS endpoint
- Escalates to ~8.1 High in CI/CD environments where directConnect(true)
is set in shared base configuration
Suggested Fix
Add allowlist validation before overrideServerUrl() is called, and/or block RFC-1918/loopback/link-local destinations by default.
AnalysisAI
Silent traffic redirection in Appium Java Client 8.2.1 to 10.1.0 allows an unauthenticated rogue Appium server to redirect all session commands to an attacker-controlled endpoint when directConnect is enabled. The client does not validate the destination host, enabling network pivoting and credential theft. Publicly available exploit code exists, and a vendor-released patch (version 10.1.1) is available.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-49879
GHSA-28f5-38xr-jh2w