Рубріки: Новини

У фреймворку Next.js знайшли критичну вразливість

Дмитро Сімагін

У Next.js, популярному React-фреймворку, який використовується для розробки веб-додатків, виявлено серйозну вразливість, яка отримала кодову назву CVE-2025-29927. Про це повідомляє GBHackers.

Критична помилка дозволяє зловмисникам обходити засоби контролю безпеки, створюючи значні ризики для авторизації. Проблема стосується версій:

  • Next.js 11.x 11.1.4 і новіші версії (без виправлень)
  • Next.js 12.x невиправлені версії
  • Next.js 13.x 13.5.6 і раніше (без виправлень)
  • Next.js 14.x до 14.02.25
  • Next.js 15.x до 15.2.3

Вразливість пов’язана з тим, як фреймворк обробляє заголовок x-middleware-subrequest. Він створений в якості внутрішнього механізму захисту від нескінченної рекурсії, але зловмисник може додати цей заголовок у звичайний запит і тим самим відключити middleware повністю.

У підсумку це дозволяє отримати доступ до захищених маршрутів – наприклад, /dashboard/admin – навіть без авторизації.

За наявності заголовка x-middleware-subrequest з потрібним значенням Next.js пропускає виконання middleware та передає запит. Приклад:

X-Middleware-Subrequest: middleware: middleware: middleware

 

Перевірка виконується до будь-яких інших обмежень, включаючи глибину рекурсії та логіку автентифікації. У підсумку авторизаційні механізми повністю ігноруються.

Експлуатація вразливості дозволяє:

  • обійти авторизацію та отримати доступ до закритих розділів;
  • обійти заголовки безпеки, наприклад, CSP;
  • впливати на кешування контенту.

Для атаки не потрібні спеціальні інструменти – лише коректний заголовок у HTTP-запиті.

Щоб захиститися від уразливості, потрібно оновитись до безпечних версій – 14.2.25 або 15.2.3. Якщо оновлення неможливо, заблокувати або видалити заголовок x-middleware-subrequest, перш ніж він потрапить в Next.js. Це можна реалізувати лише на рівні:

  • WAF або балансувальника (наприклад, Cloudflare);
  • веб-сервера (Nginx, Apache);
  • Express-сервера, якщо використовується кастомна збірка.

Відкриття CVE-2025-29927 підкреслює важливість бути пильним і підтримувати програмне забезпечення в актуальному стані, особливо якщо це стосується широко використовуваних фреймворків, таких як Next.js.

Останні статті

В Китаї планують виробляти скляні оптичні диски місткістю 360 ТБ. Їх розробили в Ухані

До кінця 2025 року у Китаї планують налагодити масове виробництво нової технології зберігання даних –…

25.07.2025

OpenAI запустить GPT-5 вже у серпні

Один з лідерів у галузі штучного інтелекту, компанія OpenAI, планує запустити свою нову мовну модель…

25.07.2025

Google тестує інструмент для вайб-кодингу Opal

Google тестує інструмент для вайб-кодування під назвою Opal. Поки він доступний користувачам лише в США…

25.07.2025

App Store запроваджує додаткові вікові обмеження для програм: 13+, 16+ і 18+

Маркетплейс мобільних застосунків App Store оновив віковий рейтинг для програм. Додано нові рейтингові обмеження та…

25.07.2025

Американку посадили на 8,5 років за «ферму ноутбуків» для північнокорейських програмістів

Жительку Аризони, яка облаштувала у себе вдома ферму з 90 ноутбуків, допомагаючи північнокорейським ІТ-спеціалістам видавати…

25.07.2025

В Android додали можливість запуску графічних програм Linux

На канал Android Canary, який прийшов на зміну Android Developer Preview і використовується для тестування…

25.07.2025