Sploitus

Exploit for CVE-2025-29927

kitploit Β· 2026-09-04

Exploit Code

MARKDOWN67 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-AYDINNYUNUS-CVE-2025-29927
# CVE-2025-29927: Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π° Middleware Π² Next.js

Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ дСмонстрируСт ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ CVE-2025-29927 Π² Next.js, Π³Π΄Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ `x-middleware-subrequest` ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ middleware, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ аутСнтификация.

## Π”Π΅Ρ‚Π°Π»ΠΈ уязвимости

Next.js ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ `x-middleware-subrequest` для прСдотвращСния рСкурсивных запросов, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… бСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹. Данная ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Middleware, Ρ‡Ρ‚ΠΎ позволяСт запросам ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ критичСскиС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ β€” Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… cookie β€” Π΄ΠΎ достиТСния ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ².

## Π—Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ вСрсии

  * Next.js 15.x < 15.2.3
  * Next.js 14.x < 14.2.25
  * Next.js 13.x < 13.5.9



## ΠžΠ±Π»Π°ΡΡ‚ΡŒ воздСйствия

### Π—Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅

  * Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ прилоТСния Next.js, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Middleware (next start с output: standalone)
  * ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Middleware для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ бСзопасности ΠΈ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΄Π°Π»Π΅Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ



### НС Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹

  * ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π½Π° Vercel
  * ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π½Π° Netlify
  * ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹Π΅ ΠΊΠ°ΠΊ статичСскиС экспорты (Middleware Π½Π΅ выполняСтся)



## Π¨Π°Π³ΠΈ воспроизвСдСния

  1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
  2. УстановитС зависимости: `npm install`
  3. Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: `npm run build`
  4. ЗапуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² production-Ρ€Π΅ΠΆΠΈΠΌΠ΅: `node .next/standalone/server.js`
  5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ: `node exploit-test.js`



## Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ эксплойт

Эксплойт добавляСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ `x-middleware-subrequest: middleware`, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ middleware Π² Next.js.

![ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅](https://assets.kitploit.com/production/public/readmes/22980/b914773b34e4dca34ab68daaef1bf5078ac290ffae4939afeec75848d2b5c7fb.png)

Middleware Π² этом Π΄Π΅ΠΌΠΎ-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ пСрСнаправляСт Π½Π΅Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ², Π½ΠΎ с использованиСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° эксплойта эту ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ.

![ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅](https://assets.kitploit.com/production/public/readmes/22980/95d447c783912fbf39b0f47fca79e535d9b4292c0ec4c09c4a3463b242f7ca55.png) ![ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅](https://assets.kitploit.com/production/public/readmes/22980/bccfb2421717e2708707f71a2108e466b916b4bc7251eadb941fa9e3386fb298.png)

## Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… исправлСнных вСрсий:

  * Next.js 15.2.3 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  * Next.js 14.2.25 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  * Next.js 13.5.9 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅



## Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

  * https://nextjs.org/blog/cve-2025-29927