FixVibe
Covered by FixVibemedium

Next.js Configuració incorrecta de la capçalera de seguretat a next.config.js

Les aplicacions Next.js que utilitzen next.config.js per a la gestió de capçaleres són susceptibles a les llacunes de seguretat si els patrons de concordança de camins són imprecisos. Aquesta investigació explora com les configuracions incorrectes de comodins i d'expressions regulars provoquen la falta de capçaleres de seguretat en rutes sensibles i com endurir la configuració.

CWE-1021CWE-200

Impacte

Les capçaleres de seguretat que falten es poden aprofitar per realitzar clics, scripts entre llocs (XSS) o recopilar informació sobre l'entorn del servidor [S2]. Quan les capçaleres com Content-Security-Policy (CSP) o X-Frame-Options s'apliquen de manera inconsistent a través de les rutes, els atacants poden apuntar a camins específics no protegits per evitar els controls de seguretat de tot el lloc ZXCVFIXVIBETOKEN3.

Causa arrel

Next.js permet als desenvolupadors configurar capçaleres de resposta a next.config.js mitjançant la propietat headers [S2]. Aquesta configuració utilitza la concordança de camins que admet comodins i expressions regulars [S2]. Les vulnerabilitats de seguretat solen derivar de:

  • Cobertura de camí incompleta: és possible que els patrons de comodins (p. ex., /path*) no cobreixin totes les subrutes previstes, de manera que les pàgines imbricades sense capçaleres de seguretat [S2].
  • Divulgació de la informació: de manera predeterminada, Next.js pot incloure la capçalera X-Powered-By, que revela la versió del marc tret que es desactivi explícitament mitjançant la configuració poweredByHeader [S2].
  • Configuració incorrecta de CORS: les capçaleres Access-Control-Allow-Origin definides incorrectament dins de la matriu headers poden permetre l'accés no autoritzat entre orígens a dades sensibles headers.

Correccions concretes

  • Patrons de ruta d'auditoria: assegureu-vos que tots els patrons source de next.config.js utilitzin els comodins adequats (per exemple, /:path*) per aplicar capçaleres globalment quan sigui necessari [S2].
  • Desactiva l'empremta digital: configureu poweredByHeader: false a next.config.js per evitar que la capçalera X-Powered-By s'enviï [S2].
  • Restringir CORS: establiu Access-Control-Allow-Origin a dominis de confiança específics en lloc de comdins a la configuració headers [S2].

Com ho prova FixVibe

FixVibe podria realitzar una sonda activa rastrejant l'aplicació i comparant les capçaleres de seguretat de diverses rutes. Mitjançant l'anàlisi de la capçalera X-Powered-By i la consistència de Content-Security-Policy a diferents profunditats de camí, FixVibe pot identificar els buits de configuració a next.config.js.