Уязвимость затрагивает транспорт React Server Components: react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack. Атакующему не нужна аутентификация — достаточно отправить специально собранный запрос на серверный endpoint, который разбирает RSC-поток. Оценка CVSS v4 — 9.5.
Затронуты версии 19.0.0–19.0.8, 19.1.0–19.1.9, 19.2.0–19.2.8 и 19.3.0. Исправления — в 19.0.9, 19.1.10, 19.2.9 и 19.3.1. В release notes к исправленным выпускам нет ни слова об уязвимости: там написано только «Improve transport protocol».
Почему это опасно именно сейчас
14 октября патчи вышли, но CVE у проблемы нет, и в глобальной базе рекомендаций GitHub записи не было как минимум до 8 ноября. Инструменты, которые читают эту базу, — Dependabot, npm audit и им подобные — проблему не показывают. То есть «сканер чистый» здесь означает ровно ничего.
С Next.js история отдельная: у него своё advisory GHSA-673q-mjm6-r5xr, исправленное в 16.4.1, а 3 ноября вышли 16.4.5 и 15.5.29 с семью умеренными исправлениями. Но ни один источник не утверждает, что 15.5.29 закрывает именно GHSA-xqc2-xf4c-x3h3, поэтому версию react-server-dom-* нужно проверять отдельно.
Публичных сообщений об эксплуатации в дикой природе на 8 ноября не зафиксировано. Это не повод ждать: уязвимость простая по условиям и не требует учётных данных.
Что делать
Проверьте lock-файлы: package-lock.json, yarn.lock, pnpm-lock.yaml. Пакета может не быть в package.json — его тянет фреймворк. Сравните версию с диапазонами выше и обновитесь до исправленной в вашей линии. Для Next.js обновите сам фреймворк, но версию RSC-пакета проверьте руками.
Заодно проверьте, нет ли рядом брата-близнеца GHSA-h3gv-c5rc-p453 — это DoS, выпущенный в тот же день.
The flaw affects the React Server Components transport: react-server-dom-webpack, react-server-dom-parcel and react-server-dom-turbopack. No authentication is required — an attacker only needs to send a crafted request to a server endpoint that parses the RSC stream. The CVSS v4 score is 9.5.
Versions 19.0.0–19.0.8, 19.1.0–19.1.9, 19.2.0–19.2.8 and 19.3.0 are affected. The fixes are 19.0.9, 19.1.10, 19.2.9 and 19.3.1. The release notes for the fixed versions do not mention a vulnerability at all: they say only “Improve transport protocol”.
Why it matters now
The patches shipped on 14 October, but the issue has no CVE and had no entry in GitHub’s global advisory database as of 8 November. Tools that read that database — Dependabot, npm audit and the like — will not flag it. A clean scanner run therefore means nothing here.
Next.js is a separate story: it has its own advisory, GHSA-673q-mjm6-r5xr, fixed in 16.4.1, and on 3 November Vercel shipped 16.4.5 and 15.5.29 with seven moderate fixes. But no source states that 15.5.29 carries the GHSA-xqc2-xf4c-x3h3 fix, so the react-server-dom-* version has to be checked directly.
There were no public reports of exploitation in the wild as of 8 November. That is no reason to wait: the prerequisites are simple and no credentials are needed.
What to do
Check your lockfiles: package-lock.json, yarn.lock, pnpm-lock.yaml. The package may be absent from package.json because a framework pulls it in. Compare the version with the ranges above and move to the fixed release on your line. For Next.js, update the framework too, but verify the RSC package version by hand.
While you are there, check for its same-day sibling GHSA-h3gv-c5rc-p453, a denial-of-service issue.