FixVibe
Covered by FixVibehigh

Віддалене виконання коду в SPIP за допомогою тегів шаблону (CVE-2016-7998)

Версії SPIP 3.1.2 і раніші містять уразливість у редакторі шаблонів. Автентифіковані зловмисники можуть завантажувати HTML-файли зі створеними тегами INCLUDE або INCLURE для виконання довільного коду PHP на сервері.

CVE-2016-7998CWE-20

Вплив

Автентифікований зловмисник може виконати довільний код PHP на базовому веб-сервері [S1]. Це дозволяє повну компрометацію системи, включаючи викрадання даних, модифікацію вмісту сайту та латеральне переміщення в середовищі хостингу [S1].

Основна причина

Уразливість існує в компонаторі шаблонів SPIP і компонентах компілятора [S1]. Система не може належним чином перевірити або дезінфікувати введення в певних тегах шаблону під час обробки завантажених файлів [S1]. Зокрема, компілятор неправильно обробляє створені теги INCLUDE або INCLURE у файлах HTML [S1]. Коли зловмисник отримує доступ до цих завантажених файлів за допомогою дії valider_xml, шкідливі теги обробляються, що призводить до виконання PHP-коду [S1].

Уражені версії

  • SPIP версії 3.1.2 і всі попередні версії [S1].

Виправлення

Оновіть SPIP до версії, новішої за 3.1.2, щоб усунути цю вразливість [S1]. Переконайтеся, що дозволи на завантаження файлів суворо обмежені для довірених користувачів-адміністраторів і що завантажені файли не зберігаються в каталогах, де веб-сервер може виконувати їх як сценарії [S1].

Як FixVibe перевіряє це

FixVibe може виявити цю вразливість двома основними методами:

  • Пасивний відбиток пальців: Аналізуючи заголовки відповідей HTTP або певні метатеги в джерелі HTML, FixVibe може ідентифікувати запущену версію SPIP [S1]. Якщо версія 3.1.2 або нижча, це призведе до попередження високого рівня серйозності [S1].
  • Сканування репозиторію: Для користувачів, які підключають свої репозиторії GitHub, сканер репозиторіїв FixVibe може перевіряти файли залежностей або константи, що визначають версію, у вихідному коді SPIP, щоб визначити вразливі інсталяції [S1].