Операция конвейера `scale <ratio>` imagecli (Scale::apply() в src/image_ops.rs) вычисляет выходную ширину/высоту как (размерность как f32 * соотношение) как u32 без проверки верхней границы соотношения, предоставленного CLI, которое анализируется через nom::number::complete::float без проверки диапазона. Большое соотношение (например, 100000) приводит к попытке выделения сотен терабайт, что приводит к прерыванию процесса. Любое приложение, встраивающее imagecli в виде библиотеки и принимающее строки конвейера, управляемые пользователем, может быть удаленно аварийно завершено с помощью одного запроса.
Показать оригинальное описание (EN)
imagecli's pipeline operation (Scale::apply in src/image_ops.rs) computes output width/height as (dimension as f32 * ratio) as u32 with no upper-bound validation on the CLI-supplied ratio, which is parsed via nom::number::complete::float with no range check. Any application embedding imagecli as a library and accepting user-controlled pipeline strings is remotely crashable with a single request.
Характеристики атаки
Последствия
Строка CVSS v3.1