
Оригинальные proof-of-concept эксплойты для React2Shell (CVE-2025-55182), демонстрирующие удаленное выполнение кода в приложениях Next.js через уязвимости парсинга чанков Webpack.
Поскольку публичные PoC распространяются, а сканер Google использует вариацию моего оригинального отправленного PoC, наконец настало время поделиться моими оригинальными PoC для React2Shell.
Этот репозиторий содержит 3 PoC:
00-very-first-rce-poc - самый первый PoC, который мне удалось разработать для RCE. Работает напрямую только на dev-сборках сайтов на Next.js, использующих Webpack.01-submitted-poc.js (основной) - точный PoC, который я отправил в Meta, гораздо проще и эффективнее02-meow-rce-poc - PoC, хэшированный и опубликованный в качестве доказательства Сильви 29 ноября, незадолго до первоначального раскрытия информации MetaМногие другие люди объяснили свои PoC, но вот мое очень краткое объяснение:
$@x даёт вам доступ к Chunkthen на наш собственный объект.then)Chunk_response позволяет нам получить доступ к большому количеству гаджетов, когда это происходитВы можете заметить, что в моём PoC есть забавная вещь в then. Это был хороший примитив, который я использовал для «сцепления» нескольких блоков вместе, где resolve передаётся в Array.map, чтобы позволить мне «перепрыгнуть» к другому блоку, определённому в $0.
Публичный воссозданный PoC, который распространяется, этого не делает, так как это не нужно, если выполнять только один прыжок. Было приятно видеть, что воссозданный PoC в остальном использовал тот же гаджет _formData, что и мой, но PoC из 00- — это дикая поездка, если вы осмелитесь попытаться его прочитать :)
Скоро.