Исследователи безопасности из компании F-Secure выявили критическую уязвимость (CVE-2021-39238), затрагивающую более различных 150 моделей принтеров и МФУ HP серии LaserJet, LaserJet Managed, PageWide и PageWide Managed. Уязвимость позволяет через отправку на печать специально оформленного PDF-документа вызвать переполнение буфера в обработчике шрифтов и добиться выполнения своего кода на уровне прошивки. Проблема проявляется с 2013 года и устранена в обновлениях прошивки, опубликованных 1 ноября (производитель был уведомлен о проблеме в апреле).
Атака может быть совершена как на локально подключённые принтеры, так и на сетевые системы печати. Например, атакующий может воспользоваться методами социального инжиниринга и вынудить пользователя распечатать вредоносный файл, атаковать принтер через уже взломанную систему пользователя или применить технику подобную “DNS rebinding”, позволяющую при открытии пользователем определённой страницы в браузере отправить HTTP-запрос на сетевой порт принтера (9100/TCP, JetDirect), недоступный для прямого обращения через интернет.
После успешной эксплуатации уязвимости скомпрометированный принтер может использоваться в качестве плацдарма для совершения атаки на локальную сеть, для сниффинга трафика или для оставления скрытой точки присутствия атакующих в локальной сети. Уязвимость также пригодна для построения ботнетов или создания сетевых червей, сканирующих другие уязвимые системы и пытающихся поразить их. Для снижения вреда от компрометации принтеров рекомендуется помещать сетевые принтеры в отдельный VLAN, ограничить межсетевым экраном установку исходящих сетевых соединений от принтеров и использовать отдельный промежуточный сервер печати вместо прямого обращения к принтеру с рабочих станций.
Исследователями также выявлена ещё одна уязвимость (CVE-2021-39237) в принтерах HP, дающая возможность получить полный доступ к устройству. В отличие от первой уязвимости проблеме присвоен умеренный уровень опасности, так как для атаки требуется физический доступ к принтеру (нужно примерно на 5 минут подключиться к UART-порту).