thinQtankLABS

Detection Engineering & Incident Response: CVE-2025-29927

Respond to a Next.js middleware-auth-bypass compromise (CVE-2025-29927). Reconstruct the timeline from the access and session logs, see how the x-middleware-subrequest header made middleware skip and exposed /admin, find the backdoor-admin persistence, engineer a detection rule for the bypass header, then contain at the edge, eradicate, upgrade, verify and report.

Intermediate 21 guided steps 6 tasks About 75 minutes Runs in your browser

Skills you will practice

  • Log analysis
  • detection and IR; Incident-handling lifecycle; Authorization bypass and IOCs; Security Operations and access control

The scenario

A public Next.js app (CVE-2025-29927 open) served /admin with a 200 to an unauthenticated request carrying the x-middleware-subrequest header, then a new admin user appeared. You are the responder. Classify it.

What you will do

  1. Open and classify the incident4 steps

    Open the incident · Read the alert · Read the ticket · Classify it

  2. Reconstruct the timeline3 steps

    Pull the attacker’s requests · Correlate the session log · What caused the bypass?

  3. Impact and persistence3 steps

    Inspect the new account · What persistence? · Record IOCs

  4. Engineer a detection rule4 steps

    Study the sample · Write a rule · Test and tune · Why not flag x-middleware-*?

  5. Contain, eradicate, verify5 steps

    Contain: strip the header at the edge · Eradicate the rogue account · Upgrade Next.js · Verify the host · …

  6. Report2 steps

    Write the report · Design lesson

How this lab works

A real Linux-style console. Commands run against real files, so hashes, hex dumps and comparisons give real results.

A file browser where you can place evidence into the lab, either the file provided or one of your own.

Reset a single step, a whole task or the entire lab. The environment is rebuilt so you can try again cleanly.

Progress saves after every step. Close the tab and come back later; your files and answers are waiting.