Описание
CodeIgniter4's ImageMagick Handler has Command Injection Vulnerability
Impact
This vulnerability affects applications that:
- Use the ImageMagick handler for image processing (
imagick
as the image library) - AND either:
- Allow file uploads with user-controlled filenames and process uploaded images using the
resize()
method - OR use the
text()
method with user-controlled text content or options
- Allow file uploads with user-controlled filenames and process uploaded images using the
An attacker can:
- Upload a file with a malicious filename containing shell metacharacters that get executed when the image is processed
- OR provide malicious text content or options that get executed when adding text to images
Patches
Upgrade to v4.6.2 or later.
Workarounds
- Switch to the GD image handler (
gd
, the default handler), which is not affected by either vulnerability - For file upload scenarios: Instead of using user-provided filenames, generate random names to eliminate the attack vector with
getRandomName()
when using themove()
method, or use thestore()
method, which automatically generates safe filenames - For text operations: If you must use ImageMagick with user-controlled text, sanitize the input to only allow safe characters:
preg_replace('/[^a-zA-Z0-9\s.,!?-]/', '', $text)
and validate/restrict text options
References
Ссылки
- https://github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-9952-gv64-x94c
- https://nvd.nist.gov/vuln/detail/CVE-2025-54418
- https://github.com/codeigniter4/CodeIgniter4/commit/e18120bff1da691e1d15ffc1bf553ae7411762c0
- https://cwe.mitre.org/data/definitions/78.html
- https://owasp.org/www-community/attacks/Command_Injection
Пакеты
codeigniter4/framework
< 4.6.2
4.6.2
Связанные уязвимости
CodeIgniter is a PHP full-stack web framework. A command injection vulnerability present in versions prior to 4.6.2 affects applications that use the ImageMagick handler for image processing (`imagick` as the image library) and either allow file uploads with user-controlled filenames and process uploaded images using the `resize()` method or use the `text()` method with user-controlled text content or options. An attacker can upload a file with a malicious filename containing shell metacharacters that get executed when the image is processed or provide malicious text content or options that get executed when adding text to images Users should upgrade to v4.6.2 or later to receive a patch. As a workaround, switch to the GD image handler (`gd`, the default handler), which is not affected by either vulnerability. For file upload scenarios, instead of using user-provided filenames, generate random names to eliminate the attack vector with `getRandomName()` when using the `move()` method, o
CodeIgniter is a PHP full-stack web framework. A command injection vul ...
Уязвимость методов resize() и text() обработчика ImageMagick фреймворка для разработки веб-систем и приложений CodeIgniter, позволяющая нарушителю загружать произвольные файлы