
PoC для CVE-2025-55183
Этот репозиторий содержит инструменты для обнаружения уязвимости раскрытия исходного кода в Next.js React Server Components (RSC) / Server Actions, отслеживаемой как CVE-2025-55183.
В уязвимых приложениях специально сформированный HTTP-запрос к серверной функции может привести к тому, что сервер вернет полный исходный код JavaScript этой функции, когда ссылка преобразуется в строку (например, через шаблонные литералы или неявное приведение типов в запросах к базе данных).
Исправление React добавляет переопределение toString() для серверных ссылок, которое возвращает постоянную строку-заглушку вместо реального тела функции. Приложения, работающие на старых сборках, все еще могут утекать исходный код, если серверные ссылки прямо или косвенно преобразуются в строку и отражаются обратно клиенту.
⚠️ Юридическое уведомление:
Эти инструменты предназначены для тестирования безопасности и исследований на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение. Несанкционированное сканирование или эксплуатация может быть незаконной.
CVE-2025-55183.yaml_next/static/chunks/*.jsID: CVE-2025-55183
Компонент: React Server Components / Server Actions в приложениях Next.js
Влияние: Раскрытие серверного исходного кода JavaScript
Основная причина:
Серверные ссылки (Server Functions) не переопределяли toString(). Когда такая ссылка передавалась в качестве аргумента коду, который преобразовывал её в строку, её полный исходный код мог быть возвращён клиенту (например, через путь ошибки, логирование или логику построения запросов).
Исправление (вышестоящее):
React теперь устанавливает дескриптор toString для серверных ссылок, который возвращает постоянную строку-заглушку, например:
function () { [omitted code] }
Это предотвращает раскрытие реальных тел функций даже при преобразовании в строку.
Подробнее об изменениях в React см.:
894bc73cb493487c48d57f4508e6278db58e673a