FixVibe
Covered by FixVibemedium

Next.js konfigurim i gabuar i kokës së sigurisë në next.config.js

Aplikacionet Next.js që përdorin next.config.js për menaxhimin e kokës janë të ndjeshme ndaj boshllëqeve të sigurisë nëse modelet e përputhjes së shtigjeve janë të pasakta. Ky hulumtim eksploron se si konfigurimet e gabuara të shkronjave të egra dhe regex çojnë në mungesën e titujve të sigurisë në rrugë të ndjeshme dhe si të forcohet konfigurimi.

CWE-1021CWE-200

Ndikimi

Titujt e sigurisë që mungojnë mund të shfrytëzohen për të kryer klikime, skriptime në faqe (XSS) ose për të mbledhur informacion rreth mjedisit të serverit [S2]. Kur titujt si Content-Security-Policy (CSP) ose X-Frame-Options aplikohen në mënyrë jokonsistente nëpër rrugë, sulmuesit mund të synojnë shtigje specifike të pambrojtura për të anashkaluar kontrollet e sigurisë në të gjithë sitin ZXETOKV3BXV

Shkaku rrënjësor

Next.js lejon zhvilluesit të konfigurojnë titujt e përgjigjeve në next.config.js duke përdorur veçorinë headers [S2]. Ky konfigurim përdor përputhjen e shtigjeve që mbështet shkronja të ngurta dhe shprehje të rregullta [S2]. Dobësitë e sigurisë zakonisht lindin nga:

  • Mbulimi jo i plotë i shtigjeve: Modelet e karakterit të egër (p.sh., /path*) mund të mos mbulojnë të gjitha nëndrejtimet e synuara, duke lënë faqet e ndërlidhura pa tituj sigurie [S2].
  • Zbulimi i informacionit: Si parazgjedhje, Next.js mund të përfshijë kokën X-Powered-By, e cila zbulon versionin e kornizës nëse nuk çaktivizohet në mënyrë eksplicite nëpërmjet konfigurimit poweredByHeader ZXCVECV2.
  • CORS Konfigurimi i gabuar: Titujt Access-Control-Allow-Origin të përcaktuara në mënyrë të gabuar brenda grupit headers mund të lejojnë akses të paautorizuar me origjinë të kryqëzuar në të dhëna të ndjeshme ZXCVEN2FIXZXVET.

Rregullime konkrete

  • Modelet e rrugës së auditimit: Sigurohuni që të gjitha modelet sourcenext.config.js të përdorin shkronja të përshtatshme (p.sh., /:path*) për të aplikuar titujt globalisht aty ku është e nevojshme ZXCVFIXVFIXVCV.
  • Çaktivizoni gjurmët e gishtërinjve: Vendosni poweredByHeader: falsenext.config.js për të parandaluar dërgimin e kokës X-Powered-By [S2].
  • Kufizoni CORS: Vendoseni Access-Control-Allow-Origin në domene specifike të besuara në vend të shkronjave të ngurta në konfigurimin headers [S2].

Si e teston FixVibe për të

FixVibe mund të kryejë një hetim aktiv me porta duke zvarritur aplikacionin dhe duke krahasuar titujt e sigurisë të rrugëve të ndryshme. Duke analizuar kokën X-Powered-By dhe konsistencën e Content-Security-Policy në thellësi të ndryshme të shtigjeve, FixVibe mund të identifikojë boshllëqet e konfigurimit në next.config.js.