Skip to main content

Appium Storage Plugin EUVDEUVD-2026-42424

| CVE-2026-58192 CRITICAL
Path Traversal (CWE-22)
2026-07-08 security-advisories@github.com
10.0
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
10.0 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:H
vuln.today AI
10.0 CRITICAL

Unauthenticated network request with trivial complexity deletes files outside the plugin's storage root (scope change), destroying data and availability with no confidentiality impact.

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

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

7
Source Code Evidence Fetched
Aug 26, 2026 - 16:43 vuln.today
Analysis Updated
Aug 26, 2026 - 16:43 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Aug 26, 2026 - 16:37 vuln.today
cvss_changed
Severity Changed
Aug 26, 2026 - 16:37 NVD
HIGH CRITICAL
CVSS changed
Aug 26, 2026 - 16:37 NVD
8.6 (HIGH) 10.0 (CRITICAL)
Patch available
Jul 08, 2026 - 22:04 EUVD
Analysis Generated
Jul 08, 2026 - 21:45 vuln.today

DescriptionNVD

Appium is a cross-platform automation framework for all kinds of apps, built on top of the W3C WebDriver protocol. Prior to 1.1.6, the Appium storage plugin exposes POST /storage/delete, whose handler passes the user-supplied name value directly into path.join(storageRoot, name) and fs.rimraf() without path sanitization, allowing an unauthenticated remote client to escape the storage root with ../ sequences and recursively delete arbitrary writable files or directories. This issue is fixed in version 1.1.6.

AnalysisAI

Unauthenticated arbitrary file/directory deletion in the Appium storage plugin (versions prior to 1.1.6) lets a remote client abuse the POST /storage/delete endpoint to recursively remove any file or directory the Appium process can write to. The handler feeds the user-supplied name straight into path.join(storageRoot, name) and fs.rimraf() with no sanitization, so ../ sequences escape the intended storage root. SSVC marks a proof-of-concept as available and the flaw as automatable; publicly available exploit code exists, though it is not listed in CISA KEV and EPSS is low (0.34%).

Technical ContextAI

Appium is a W3C WebDriver-based cross-platform test-automation server; the affected component is its optional @appium/storage-plugin (Node.js), which provides file storage management endpoints. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal): the delete handler in packages/storage-plugin/lib/plugin.ts passed the request's name field to storage.delete() with no validation, and lib/storage.ts joined it onto storageRoot before calling fs.rimraf(). Because path.join resolves ../ segments, a name like ../../../etc/something traverses outside storageRoot, and rimraf then recursively deletes it. The fix adds a validateStorageItemName() function that rejects empty names and any name that does not survive fs.sanitizeName() (e.g. names containing path separators), applied to both delete and item-creation paths.

RemediationAI

Vendor-released patch: upgrade @appium/storage-plugin to 1.1.6, which introduces validateStorageItemName() to reject empty names and any name containing path separators or other characters that fs.sanitizeName() would alter (release: https://github.com/appium/appium/releases/tag/%40appium/storage-plugin%401.1.6; fix commit 5fee01752f2782e96fbe64fd13520b433d4a7535; PR https://github.com/appium/appium/pull/22362). If you cannot upgrade immediately, disable the storage plugin (do not load it via --use-plugins) since it is optional - this removes the endpoint entirely at the cost of losing storage functionality; alternatively, block or firewall the /storage/* routes at a reverse proxy and restrict the Appium listener to trusted, authenticated networks/localhost so the unauthenticated endpoint is not reachable by untrusted clients. Running the Appium process under a low-privilege account that owns only its storage directory limits the blast radius of any successful traversal but does not close the vulnerability.

Share

EUVD-2026-42424 vulnerability details – vuln.today

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