## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KIMTRUTH-CVE-2025-55183-POC
# CVE-2025-55183-poc – Раскрытие исходного кода серверных функций React Server Components Next.js
Этот репозиторий содержит инструменты для обнаружения уязвимости раскрытия исходного кода в **Next.js React Server Components (RSC)** / **Server Actions** , отслеживаемой как `CVE-2025-55183`.
В уязвимых приложениях специально сформированный HTTP-запрос к серверной функции может привести к тому, что сервер **вернет полный исходный код JavaScript** этой функции, когда ссылка преобразуется в строку (например, через шаблонные литералы или неявное приведение типов в запросах к базе данных).
Исправление React добавляет переопределение `toString()` для серверных ссылок, которое возвращает постоянную строку-заглушку вместо реального тела функции. Приложения, работающие на старых сборках, все еще могут утекать исходный код, если серверные ссылки прямо или косвенно преобразуются в строку и отражаются обратно клиенту.
> ⚠️ **Юридическое уведомление:**
> Эти инструменты предназначены для тестирования безопасности и исследований на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение. Несанкционированное сканирование или эксплуатация может быть незаконной.
* * *
## Содержимое репозитория
* `CVE-2025-55183.yaml`
Шаблон Nuclei, который:
1. Обнаруживает файлы `_next/static/chunks/*.js`
2. Извлекает из этих чанков потенциальные идентификаторы серверных действий
3. Отправляет RSC-запросы, нацеленные на каждое действие
4. Помечает ответы, которые, по-видимому, содержат исходный код серверных функций
* * *
## Краткое описание уязвимости
* **ID:** CVE-2025-55183
* **Компонент:** React Server Components / Server Actions в приложениях Next.js
* **Влияние:** Раскрытие серверного исходного кода JavaScript
* **Основная причина:**
Серверные ссылки (Server Functions) не переопределяли `toString()`. Когда такая ссылка передавалась в качестве аргумента коду, который преобразовывал её в строку, её полный исходный код мог быть возвращён клиенту (например, через путь ошибки, логирование или логику построения запросов).
* **Исправление (вышестоящее):** React теперь устанавливает дескриптор `toString` для серверных ссылок, который возвращает постоянную строку-заглушку, например:
root@kitploit:~
function () { [omitted code] }
Это предотвращает раскрытие реальных тел функций даже при преобразовании в строку.
Подробнее об изменениях в React см.:
* Коммит React: `894bc73cb493487c48d57f4508e6278db58e673a`
* Блог React: “Denial of service and source code exposure in React Server Components”
* * *
## Обнаружение с помощью Nuclei
### Требования
* Nuclei v3+
* Сетевой доступ к целевому приложению Next.js