highVulnerability

CVE-2026-55224

## Path Traversal via Unsanitized Identifier in Plugin Install/Uninstall ### Summary The app-store plugin service concatenates unsanitized user-supplied `identifier` values directly into file system paths. An attacker can use path traversal sequences (e.g., `../`) to read, install, or uninstall plugins from arbitrary directories, and potentially execute arbitrary composer commands. ### Vulnerable Code **File:** `plugin/mine-admin/app-store/src/Service/Service.php` ```php // Line 32 - download(): path traversal via identifier public function download(array $params): bool { if (empty($params['identifier']) || empty($params['version'])) { $this->throwParamsFail(); } $service = make(AppStoreServiceImpl::class); if (! is_dir(BASE_PATH . '/plugin/' . $params['identifier'])) { // Path traversal $result = $service->download($params['identifier'], $params['version']); // ... } return true; } // Line 48 - install(): path traversal + Plugin::install() with raw identifier public function install(array $params): bool { // ... $path = BASE_PATH . '/plugin/' . $params['identifier']; // Path traversal if (file_exists($path . '/install.lock')) { $this->throwAppInstalled(); } Plugin::install($params['identifier']); // May run composer commands with traversal path return true; } // Line 70 - unInstall(): same pattern public function unInstall(array $params): bool { // ... $path = BASE_PATH . '/plugin/' . $params['identifier']; // Path traversal Plugin::uninstall($params['identifier']); // Arbitrary uninstall return true; } ``` **File:** `plugin/mine-admin/app-store/src/Controller/IndexController.php` (lines 25-26) ```php #[Controller(prefix: 'admin/plugin/store')] #[Middleware(middleware: AccessTokenMiddleware::class, priority: 100)] // Only AccessTokenMiddleware -- no PermissionMiddleware (see GM-4340) ``` ### Proof of Concept ```bash # Install a "plugin" from a traversed pa

Properties

ghsa_id
GHSA-59xm-4m8c-g3xj
summary
MineAdmin Vulnerable to Path Traversal via Unsanitized identifier in Plugin Install/Uninstall
severity
high
cve_id
CVE-2026-55224
is_ghsa_only
false
ghsa_published
2026-08-18T20:40:37Z
source_url
https://github.com/advisories/GHSA-59xm-4m8c-g3xj
ghsa_updated
2026-08-18T20:40:38Z

Related Entities (4)

HAS_WEAKNESS (1)

[Weakness]Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (1)

[Software]composer/mineadmin/mineadmin

AFFECTS (1)

[Software]composer/mineadmin/mineadmin

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-55224 — Ninja Signal Threat Intelligence | Ninja Signal