FixVibe
Covered by FixVibemedium

Next.js drošības galvenes nepareiza konfigurācija failā next.config.js

Next.js lietojumprogrammas, kas galvenes pārvaldībai izmanto next.config.js, ir jutīgas pret drošības nepilnībām, ja ceļa atbilstības modeļi ir neprecīzi. Šajā pētījumā tiek pētīts, kā aizstājējzīmju un regulārās izteiksmes nepareizas konfigurācijas noved pie tā, ka sensitīvos maršrutos trūkst drošības galvenes un kā uzlabot konfigurāciju.

CWE-1021CWE-200

Ietekme

Trūkstošās drošības galvenes var izmantot, lai veiktu klikšķu uzlaušanu, starpvietņu skriptēšanu (XSS) vai apkopotu informāciju par servera vidi [S2]. Ja virsraksti, piemēram, Content-Security-Policy (CSP) vai X-Frame-Options, tiek nekonsekventi lietoti visos maršrutos, uzbrucēji var mērķēt uz konkrētiem neaizsargātiem ceļiem, lai apietu visas vietnes drošības kontroles ZXCVFIXZVIBETCV.

Galvenais cēlonis

Next.js ļauj izstrādātājiem konfigurēt atbilžu galvenes next.config.js, izmantojot rekvizītu headers [S2]. Šajā konfigurācijā tiek izmantota ceļa atbilstība, kas atbalsta aizstājējzīmes un regulārās izteiksmes [S2]. Drošības ievainojamības parasti rodas no:

  • Nepilnīgs ceļa pārklājums: aizstājējzīmju raksti (piemēram, /path*) var neaptvert visus paredzētos apakšmaršrutus, atstājot ligzdotās lapas bez drošības galvenēm [S2].
  • Informācijas atklāšana: pēc noklusējuma Next.js var ietvert galveni X-Powered-By, kas atklāj ietvara versiju, ja vien tas nav skaidri atspējots, izmantojot poweredByHeader konfigurāciju ZXCVFIXZVICVOKEN2.
  • CORS nepareiza konfigurācija: nepareizi definētas Access-Control-Allow-Origin galvenes masīvā headers var nodrošināt nesankcionētu vairāku izcelsmju piekļuvi sensitīviem datiem ZXCVFIXZVIBETOKEN2.

Betona labojumi

  • Audita ceļa modeļi: nodrošiniet, lai visi source modeļi next.config.js izmantotu atbilstošas aizstājējzīmes (piemēram, /:path*), lai vajadzības gadījumā lietotu galvenes globāli ZXCVFIXZVIBETOKV.
  • Atspējot pirkstu nospiedumu ņemšanu: iestatiet poweredByHeader: false laukā next.config.js, lai novērstu X-Powered-By galvenes sūtīšanu [S2].
  • Ierobežot CORS: iestatiet Access-Control-Allow-Origin konkrētiem uzticamiem domēniem, nevis aizstājējzīmes headers konfigurācijā [S2].

Kā FixVibe to pārbauda

FixVibe varētu veikt aktīvu zondi, pārmeklējot lietojumprogrammu un salīdzinot dažādu maršrutu drošības galvenes. Analizējot X-Powered-By galveni un Content-Security-Policy konsekvenci dažādos ceļa dziļumos, FixVibe var identificēt next.config.js konfigurācijas nepilnības.