CVE-2026-58191: Appium: Reflected XSS / arbitrary JS in @appium/base-driver /test/guinea-pig* routes
Appium’s base-driver mounts the built-in /test/guinea-pig, /test/guinea-pig-scrollable and /test/guinea-pig-app-banner routes unconditionally on every server. The handler reflects the throwError query param, the comments POST field, and the User-Agent request header into the returned HTML via compileLodashTemplate, which interpolates <%= expr %> as String(expr) with no HTML/JS escaping. This yields reflected XSS, and the throwError value is reflected inside a <script> block, giving arbitrary JavaScript execution on the server’s origin. No authentication, no session, no driver and no plugin are required, and the default bind address is 0.0.0.0.
References
- github.com/advisories/GHSA-3wgp-x9p5-c7cc
- github.com/appium/appium/commit/d94a40af9f8040191ee7888571a1c9d5aec59f89
- github.com/appium/appium/pull/22394
- github.com/appium/appium/releases/tag/@appium/base-driver@10.7.0
- github.com/appium/appium/security/advisories/GHSA-3wgp-x9p5-c7cc
- nvd.nist.gov/vuln/detail/CVE-2026-58191
Code Behaviors & Features
Detect and mitigate CVE-2026-58191 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →