SSRF в генераторе PDF-счетов vas3k TaxHacker (CVE-2026-94039)
В vas3k TaxHacker до версии 0.8.5 включительно обнаружена уязвимость класса SSRF в функции generateInvoicePDF. Атакующий может удаленно инициировать запросы с сервера через параметр businessLogo. Публичный эксплойт уже существует, а разработчик пока не отреагировал на уведомление.
Подробности
Уязвимости присвоен идентификатор CVE-2026-94039 с базовой оценкой CVSS 6.9 (MEDIUM). Уязвимой признана функция generateInvoicePDF, реализованная в файле /apps/invoices/actions.ts. Причиной стала недостаточная проверка аргумента businessLogo: злоумышленник может подставить в него произвольный URL, и сервер выполнит исходящий запрос к указанному адресу от своего имени. Уязвимы все версии vas3k TaxHacker вплоть до 0.8.5 включительно. Атака проводится удаленно и не требует предварительной аутентификации в привилегированной роли — достаточно иметь возможность передать контролируемое значение в параметр businessLogo при генерации PDF-счета. Эксплуатация позволяет обращаться к внутренним сервисам, доступным только из периметра хостинга, читать ответы внутренних API, проводить разведку сетевой инфраструктуры и в ряде конфигураций — взаимодействовать с облачными metadata-эндпоинтами. Поскольку эксплойт опубликован, вероятность сканирования и атак на инсталляции TaxHacker существенно возрастает. Отдельно стоит отметить, что проект был уведомлен о проблеме через issue, однако на момент публикации записи CVE реакция со стороны мейнтейнера отсутствует. Это означает, что официального патча может не быть, и администраторам необходимо самостоятельно оценить риски и применить компенсирующие меры.Что делать
Поскольку исправленная версия на момент публикации не выпущена, рекомендуется следующий набор действий:- Ограничить сетевой доступ к экземпляру TaxHacker: не выставлять его в публичный интернет без необходимости, использовать аутентификацию на периметре (reverse proxy, VPN).
- Заблокировать исходящие сетевые соединения приложения на уровне хоста, контейнера или firewall: разрешить только те направления, которые действительно нужны для работы (SMTP, БД, доверенные API).
- Запретить доступ к внутренним диапазонам (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16) для процесса приложения, чтобы исключить обращение к loopback, приватным подсетям и cloud metadata.
- Проверить логи на предмет подозрительных исходящих запросов из компонента генерации PDF и нехарактерных значений businessLogo.
- Следить за обновлениями репозитория vas3k TaxHacker и установить патч, как только он появится; при наличии форка — рассмотреть самостоятельное исправление с валидацией URL по белому списку.
Источник: CVE Project (cvelistV5)
