GiveWP, плагін для донатів у WordPress, який забезпечує роботу мільйонів благодійних сайтів, раптово зіткнувся з критичною вразливістю, що дозволяє віддалене виконання коду. CVE-2026-82222 отримав максимальний бал 10.0 за шкалою CVSS і дозволяє будь-кому в інтернеті виконувати довільні команди на вразливому сервері. Виправлення доступне у версії 4.16.7.2.

Чому ця помилка є важливою

GiveWP є основою незліченних сторінок для збору коштів. Власники сайтів покладаються на нього для обробки даних донорів, здійснення платежів та зберігання інформації про сесії. Зловмисник, який може виконати код на базовому сервері, може викрасти облікові дані, змінити вигляд сайту (дефейс) або переміститися до інших частин мережі. Оскільки вразливість працює без авторизації, всім публічним інтернетом стає поверхня атаки.

Як працює експлойт

Ця помилка — це не одна помилка в коді, а ланцюжок із трьох окремих проблем, які разом відкривають «бекдор».

  1. Небезпечна десеріалізація – допоміжна функція плагіна safeUnserialize перетворює серіалізовані об'єкти на заповнювачі замість того, щоб видаляти їх, залишаючи початкові дані об'єкта недоторканими.
  2. Сліпа повторна десеріалізація – дані, отримані з бази даних, знову подаються у unserialize без перевірки, що дозволяє «воскрешати» спеціально створені об'єкти.
  3. Ланцюжок гаджетів TCPDF – GiveWP містить бібліотеку для генерації PDF-файлів TCPDF, яка має ланцюжок класів, що може викликати системні команди після десеріалізації шкідливого об'єкта.

Зловмисник діє за чотириетапною схемою, яка не потребує наявності облікового запису:

  • Реєстрація – через хук user_register зловмисник створює користувача WordPress, навіть якщо реєстрація на сайті вимкнена.
  • Розміщення – зловмисник зберігає серіалізоване корисне навантаження (payload) у полі last_name нового профілю.
  • Отруєння – надсилання донату змушує плагін записати це навантаження в таблицю wp_give_sessions.
  • Виконання – коли будь-яка публічна сторінка згодом зчитує сесію, шкідливий об'єкт десеріалізується, спрацьовує ланцюжок гаджетів TCPDF, і команда, надана зловмисником, виконується на сервері.

Виправлення

Розробники GiveWP випустили версію 4.16.7.2, щоб розірвати цей ланцюжок на кожному етапі:

  • Донати, що містять серіалізовані дані, відхиляються відразу.
  • Усі функції читання даних тепер застосовують сувору перевірку типів та вмісту.
  • Ланцюжок гаджетів TCPDF явно заблоковано, що запобігає несанкціонованим викликам методів.
  • Мета-поля, включаючи last_name, очищуються перед збереженням.
  • Автоматично запускається міграція бази даних для видалення будь-яких наявних шкідливих навантажень.

Оновлення плагіна — це лише перший крок; ви повинні переконатися, що міграція очищення була виконана, щоб видалити навантаження, які вже знаходяться у вашій базі даних.

Хто під загрозою

Будь-який сайт на WordPress, що використовує GiveWP версії 4.16.7.1 або раніше, є вразливим, незалежно від того, чи увімкнено реєстрацію. Під загрозою можуть опинитися великі некомерційні організації, малі благодійні фонди та особисті сторінки для збору коштів. Атака не залежить від конкретної конфігурації сервера; вразливим є будь-яке середовище PHP, яке підтримує вбудовану бібліотеку TCPDF.

Контраргумент

Деякі власники сайтів стверджують, що для експлойту донору потрібно здійснити платіж, що вони вважають малоймовірною подією. Вразливість спростовує це твердження: шкідливе навантаження зберігається під час етапу донату, але виконання відбувається під час завантаження будь-якої наступної сторінки, навіть без завершеного платежу. Відсутність потреби в автентифікації та бал CVSS 10.0 роблять цей ризик занадто високим, щоб розглядати його як теоретичну проблему.

Підсумок

CVE-2026-82222 у GiveWP демонструє, як серія, здавалося б, невинних спрощень у коді може призвести до катастрофічного зламу. Виправлення вже готове. Операторам сайтів слід негайно оновитися до версії 4.16.7.2, підтвердити, що міграція видалила наявні навантаження, і моніторити логи на наявність ознак активності після експлойту. Ігнорування патчу може залишити веб-ресурс благодійної організації — та дані її донорів — відкритими для зловмисника з повним контролем над сервером.