NIS2 & DORA van kracht. EU AI Act volgt — boek een demo

Penetratietest Next.js: Middleware Bypass, Cache Poisoning en Moderne React Beveiliging

Next.js applicaties combineren server rendering, edge middleware, ISR cache en server actions — elk een unieke aanvalsoppervlak. De Next.js kwetsbaarheden van 2024 omvatten CVE-2024-43481 (middleware bypass, CVSS 9.1), CVE-2024-46982 (ISR cache poisoning) en CVE-2024-34351 (SSRF). Matproof Sentinel voert gerichte Next.js pentests uit met proof-of-exploit en audit-klare rapporten DORA / NIS2 / ISO 27001 vanaf €149.

Start gratis scan
MW
Geschreven door Malte Wagenbach
Oprichter van Matproof Security. Gespecialiseerd in AI-gestuurde penetratietests en EU-compliance (DORA, NIS2, BIO, ISO 27001).
Laatst beoordeeld: 17 mei 2026

Waarom Next.js specifieke pentest aandacht vereist

Next.js is het populairste React framework voor moderne full-stack applicaties, maar de unieke aanvalsoppervlak vereist specifieke pentest-expertise. CVE-2024-43481 (CVSS 9.1, maart 2024) maakt volledige bypass van het authenticatie middleware mogelijk via manipulatie van de x-middleware-subrequest header — een niet-geauthenticeerde aanvaller krijgt toegang tot beveiligde routes inclusief admin panels en transactie endpoints. CVE-2024-46982 stelt Next.js applicaties bloot aan ISR (Incremental Static Regeneration) cache poisoning. CVE-2024-34351 maakt SSRF mogelijk via verkeerde behandeling van relatieve URLs. Voor Nederlandse organisaties onder DORA Art. 24 of NIS2/Cybersecuritywet (Cbw oktober 2024) is een gedocumenteerde Next.js pentest standaard om technische compliance aan te tonen.

  • CVE-2024-43481 (CVSS 9.1): volledige Next.js middleware bypass via x-middleware-subrequest header — niet-geauthenticeerde toegang tot beveiligde routes inclusief admin panels en betalingsendpoints.
  • CVE-2024-46982: ISR cache poisoning — aanvaller manipuleert statisch gegenereerde cache, serveert gecompromitteerde inhoud aan andere gebruikers zonder authenticatie nodig.
  • CVE-2024-34351: SSRF via verkeerd geformatteerde relatieve URLs — toegang tot cloud metadata endpoints (AWS IMDSv1, Google metadata server) en interne services.
  • Server Actions (Next.js 13+): nieuw beveiligingsmodel vereist server-side input validatie, expliciete autorisatie per action — een Server Action zonder bewaking is gelijk aan een publieke API endpoint.
  • Cache strategieën (ISR, dynamic, force-static): verkeerde configuraties kunnen gecachte data tussen verschillende gebruikers blootleggen — vooral kritiek voor multi-tenant SaaS toepassingen.
  • Edge middleware op Vercel / Cloudflare: beperkte uitvoeringsomgevingen (Web APIs, geen volledig Node.js) vereisen specifieke tests om bypass via omgevingsverschillen te voorkomen.
  • Voor Nederlandse SaaS onder NIS2/Cbw of fintechs onder DORA Art. 24 is gedocumenteerde Next.js pentest standaard voor compliance.

Wat we specifiek testen in een Next.js applicatie

  • Middleware bypass (CVE-2024-43481): test met gemanipuleerde x-middleware-subrequest header om toegang te krijgen tot beveiligde routes; verificatie van Next.js versies < 14.2.25 / < 13.5.7 / < 15.0.4.
  • ISR cache poisoning (CVE-2024-46982): test van cache manipulatie via x-now-route-matches header; verificatie van revalidate-on-stale configuratie.
  • SSRF via Next.js server (CVE-2024-34351, interne fetch): verkeerd geformatteerde relatieve URLs, poging tot toegang tot cloud metadata endpoints, interne VPC services.
  • Server Actions beveiliging: input validatie Zod/Yup, expliciete autorisatie per action, correcte useFormState met output sanitisatie.
  • API routes: OWASP Top 10 standaard (injection, broken auth, IDOR), TypeScript runtime type validatie met Zod, rate limiting (standaard afwezig in Next.js).
  • next.config.js configuratie: beveiligingsheaders (Content-Security-Policy strict, Strict-Transport-Security met preload), images.remotePatterns om whitelist bypass te voorkomen.
  • Authentication patterns: Next-Auth / Auth.js, Clerk, Lucia — JWT signing verificatie, session cookie flags (Secure, HttpOnly, SameSite), correcte CSRF afhandeling.
  • Vercel-specifiek: edge functions vs node runtime, environment variables client-side blootgesteld (NEXT_PUBLIC_*), preview deployments met authenticatie en IP-bescherming.
  • Composition Analysis: package.json + package-lock.json voor CVE in afhankelijkheden (next, react, react-dom), transitive audit met npm audit --production.
  • TypeScript strict mode: noUncheckedIndexedAccess voor runtime errors door undefined indices, strictNullChecks voor type-integriteit.

Voorbeeldbevinding

Kritiek

CVE-2024-43481 — Middleware bypass via x-middleware-subrequest header

De Next.js 14.2.3 applicatie is kwetsbaar voor CVE-2024-43481, waardoor volledige bypass van het authenticatie middleware mogelijk is via gemanipuleerde waarde van de HTTP header x-middleware-subrequest. Een niet-geauthenticeerde aanvaller kan een verzoek sturen zoals 'GET /admin/users HTTP/1.1 + x-middleware-subrequest: src/middleware:src/middleware:src/middleware:src/middleware:src/middleware' die de uitvoering van het authentication.ts middleware overslaat. De test gaf toegang tot /admin/users (admin paneel met volledige gebruikerslijst, e-mails, rollen), /admin/orders (orders paneel met gedeeltelijke betalingsgegevens), en /api/admin/* endpoints zonder authenticatie. De kwetsbaarheid is gedocumenteerd en gepatcht in Next.js ≥ 14.2.25, ≥ 13.5.7, ≥ 15.0.4. Exploitatietijd: 12 seconden.

Oplossing: Onmiddellijke actie (prioriteit 1): update Next.js naar gepatchte versie: ≥ 14.2.25 voor 14.x lijn, ≥ 13.5.7 voor 13.x lijn, ≥ 15.0.4 voor 15.x lijn. Verificatie: na update, probeer dezelfde payload opnieuw — moet 401/403 retourneren. Aanvullende acties: implementeer tweede-laag autorisatie op API route / Server Action niveau (vertrouw nooit alleen op middleware als enige verdediging); schakel Content-Security-Policy strict in met report-uri om exploitatiepogingen te detecteren; configureer WAF (Cloudflare, AWS WAF) met expliciete blokregel voor x-middleware-subrequest header van niet-interne bronnen.

Referentie: CVE-2024-43481 (CVSS 9.1) · CWE-285 Improper Authorization · OWASP A01:2021 Broken Access Control · Next.js Security Advisory GHSA-7gfc-8cq8-jh5f · Vercel post-mortem mei 2024

Pentest Next.js: opties vergeleken

Gratis scanMatproof SentinelTraditionele consultancy
Geautomatiseerde scan-engine✓ (3-min preview)✓ Volledige scan✗ Alleen handmatig
OWASP Top 10 dekkingGedeeltelijk✓ Volledig✓ Volledig
Proof-of-exploit bewijs✓ Per bevinding✓ Per bevinding
Regulatorische mapping (DORA/NIS2/ISO 27001)✓ Geautomatiseerd✓ Handmatig
Audit-geschikt PDF-rapport✓ Direct✓ 2–4 weken levertijd
Continue / terugkerende scans✓ Per deploy✗ Jaarlijkse opdracht
Tijd tot eerste resultaat~3 min~30 min volledige scan2–4 weken
Prijs€0Vanaf €149€8.000–€25.000
Broncode-review (SAST)✓ Growth-plan✓ In scope
API-tests (REST/GraphQL)✓ Geautomatiseerd✓ Handmatig

Pentest Next.js pakketten

Losse scan
€149 eenmalig
  • 1 volledige penetratietest-scan
  • AI-geprioriteerde bevindingen met CVSS 3.1
  • Proof-of-exploit per bevinding
  • PDF-rapport (geschikt voor audit)
  • Regulatorische mapping (DORA, NIS2, ISO 27001)
Losse scan kopen
Aanbevolen
Starter
€299 / maand
  • Onbeperkt scannen (tot 3 domeinen)
  • Continue monitoring
  • CI/CD-integratie (GitHub, GitLab)
  • Alle regulatorische mappings
  • Prioriteitsondersteuning
Start met Starter
Growth
€799 / maand
  • Onbeperkt scannen + domeinen
  • Geauthenticeerde / White-Box tests
  • API- en cloud-infrastructuurtests
  • Dedicated security account manager
  • SLA responstijd 24u
Contact voor Growth

Veelgestelde vragen over Next.js penetratietest

Welke Next.js versies zijn aangetast door CVE-2024-43481?

Alle Next.js versies < 14.2.25 (14.x lijn), < 13.5.7 (13.x lijn) en < 15.0.4 (15.x lijn) zijn kwetsbaar. De kwetsbaarheid werd op 14 maart 2024 onthuld en gepatcht. Next.js versies < 12.x zijn niet direct aangetast maar zijn End-of-Life sinds 2023 en moeten gemigreerd worden.

Dekt de pentest Vercel, Cloudflare Workers, AWS Amplify of alleen self-hosted?

Wij dekken alle Next.js deployment targets: Vercel (met specifieke Edge Functions vs Node Runtime), Cloudflare Workers + Pages, AWS Amplify, Netlify, en self-hosted (Node.js, Docker, Kubernetes).

Testen jullie ook Next.js App Router (Next.js 13+) of alleen Pages Router?

Beide. App Router (Next.js 13+) heeft nieuwe beveiligingspatronen: Server Actions, Streaming SSR, parallel routes met gedifferentieerde authenticatie. Voor klassieke Pages Router testen we legacy patronen: getServerSideProps, API routes /pages/api/*.

Hoe lang duurt een volledige Next.js pentest?

Volledige geautomatiseerde scan: ongeveer 60 minuten voor typische Next.js applicatie. Voor complexe applicaties (microservices Next.js, multi-tenant SaaS): 2-3 uur. Audit-klaar rapport binnen 24 uur.

Is het rapport geaccepteerd voor DORA Art. 24 of NIS2 / Cbw audits in Nederland?

Ja. Het technische rapport bevat expliciete mapping naar DORA Art. 24/25, NIS2 Art. 21 zoals omgezet in Cybersecuritywet (Cbw, oktober 2024), en ISO 27001:2022 A.8.29. Voor DNB toezicht (financiële sector), levert het rapport de technische basis voor IT-inspecties.

Kunnen we Matproof Sentinel integreren in onze CI/CD met Vercel of Cloudflare?

Ja, in Starter (€299/mo) en Growth (€799/mo). Voor Vercel: GitHub Actions integratie die wordt geactiveerd op preview deployments. Voor Cloudflare: webhook integratie met Workers Deployment events. Critical/High findings kunnen automatisch merge blokkeren.

Gerelateerde onderwerpen

Meer lezen — gerelateerde blogartikelen

Bescherm uw Next.js applicatie nu

Eerste scan in 3 minuten, volledige Next.js pentest in 60 minuten met proof-of-exploit voor elke bevinding. Audit-klaar rapport DORA / NIS2 / ISO 27001 vanaf €149.

Start gratis scan