Funkcja createRouteMatcher w bibliotekach @clerk/nextjs, @clerk/nuxt i @clerk/astro może zostać obejściem przy użyciu specjalnie spreparowanych żądań HTTP, co pozwala atakującemu ominąć bramkowanie middleware i dotrzeć do chronionych zasobów bez uwierzytelnienia. Podatność ma ocenę CVSS 9.1 i jest sklasyfikowana jako krytyczna.
▸ Pokaż oryginał (EN)
Clerk JavaScript is the official JavaScript repository for Clerk authentication. createRouteMatcher in @clerk/nextjs, @clerk/nuxt, and @clerk/astro can be bypassed by certain crafted requests, allowing them to skip middleware gating and reach downstream handlers. This vulnerability is fixed in @clerk/astro 1.5.7, 2.17.10, and 3.0.15; @clerk/nextjs 5.7.6, 6.39.2, and 7.2.1; @clerk/nuxt 1.13.28 and 2.2.2; and @clerk/shared 2.22.1, 3.47.4, anc 4.8.1
Podatność wynika z błędnej interpretacji lub niejednoznacznej obsługi żądań (CWE-436 — Interpretation Conflict) w połączeniu z nieprawidłową weryfikacją uprawnień (CWE-863 — Incorrect Authorization). Specjalnie spreparowane żądanie HTTP jest rozpoznawane przez middleware createRouteMatcher w sposób odbiegający od zamierzonego, skutkując pominięciem logiki gating. W efekcie żądanie trafia bezpośrednio do dalszych procedur obsługi (downstream handlers), z pominięciem wymaganej weryfikacji tożsamości użytkownika.
Atakujący bez żadnego uwierzytelnienia (PR:N, UI:N) może uzyskać nieautoryzowany dostęp do chronionych zasobów aplikacji oraz potencjalnie modyfikować dane, co przekłada się na wysoki wpływ na poufność i integralność systemu.
Należy niezwłocznie zaktualizować biblioteki do poprawionych wersji: @clerk/astro do 1.5.7, 2.17.10 lub 3.0.15; @clerk/nextjs do 5.7.6, 6.39.2 lub 7.2.1; @clerk/nuxt do 1.13.28 lub 2.2.2; @clerk/shared do 2.22.1, 3.47.4 lub 4.8.1. Szczegóły dostępne w referencjach producenta na GitHub Security Advisories.
@clerk/astro w wersjach przed 1.5.7, 2.17.10 i 3.0.15; @clerk/nextjs w wersjach przed 5.7.6, 6.39.2 i 7.2.1; @clerk/nuxt w wersjach przed 1.13.28 i 2.2.2; @clerk/shared w wersjach przed 2.22.1, 3.47.4 i 4.8.1
Podatność została ujawniona i naprawiona przez zespół Clerk. Szczegóły techniczne dostępne pod adresem: https://github.com/clerk/javascript/security/advisories/GHSA-vqx2-fgx2-5wq9
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N