GHSA-8q4h-8crm-5cvc
CRITICALGHSA-8q4h-8crm-5cvc is a critical-severity (CVSS 9.8) remote code execution vulnerability in studio-42/elfinder. O3 Security confirms whether GHSA-8q4h-8crm-5cvc is actually reachable in your code before you act, and blocks exploitation at runtime until you patch.
elFinder: Command injection in resize background color parameter when using ImageMagick CLI
Blast Radius
studio-42/elfinderReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
Description
Severity
High
bg can be injected into shell command construction, leading to possible RCE in affected configurations.
Summary
elFinder contains a command injection vulnerability in the resize command.
The bg (background color) parameter is accepted from user input and passed through image resize/rotate processing. In configurations that use the ImageMagick CLI backend, this value is incorporated into shell command strings without sufficient escaping. An attacker able to invoke the resize command with a crafted bg value may achieve arbitrary command execution as the web server process user.
This issue affects configurations where:
- the
resizecommand is enabled, - image processing uses the ImageMagick CLI backend, and
- the vulnerable code paths are reachable.
Impact
An attacker may execute arbitrary OS commands with the privileges of the web server process.
Impact depends on server configuration, enabled commands, backend image library selection, and surrounding deployment controls.
Affected versions
Affected: all versions before 2.1.66 Patched: 2.1.67
Details
The vulnerable flow is:
- The
resizecommand accepts thebgparameter from the request. - The parameter is passed into volume resize handling.
- In ImageMagick CLI code paths, the value is interpolated into shell command strings.
- Because the value is not safely constrained and escaped, shell metacharacters may be injected.
The issue was addressed by:
- validating
bgagainst a strict allowlist of supported color formats, and - safely escaping the value before it is passed into CLI command construction.
Workarounds
Possible mitigations for users who cannot upgrade immediately:
- disable the
resizecommand if not required, - avoid using the ImageMagick CLI backend for image processing,
- restrict access to trusted users only.
Upgrading to the patched release is strongly recommended.
Credits
Thanks to Lin, WeiChi and Drew Webber for the responsible disclosure.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | studio-42/elfinder | all versions | 2.1.67 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for studio-42/elfinder. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
Fix
Update studio-42/elfinder to 2.1.67 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-8q4h-8crm-5cvc is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 pinpoints whether GHSA-8q4h-8crm-5cvc is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to GHSA-8q4h-8crm-5cvc. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-8q4h-8crm-5cvc in your dependencies?
O3 detects GHSA-8q4h-8crm-5cvc across Packagist dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.