CRITICAL🇬🇧 English

CVE-2026-29792

Feathers.js: pominięcie uwierzytelnienia OAuth umożliwia przejęcie konta

CVSS 9.3v4.0pub. 2026-03-10upd. 2026-03-19

Podatność w frameworku Feathers.js (wersje 5.0.0–5.0.41) pozwala nieuwierzytelnionemu atakującemu uzyskać ważny token JWT dla istniejącego użytkownika bez interakcji z dostawcą OAuth. Jest to krytyczna luka auth bypass umożliwiająca całkowite przejęcie konta.

Pokaż oryginał (EN)

Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. From 5.0.0 to before 5.0.42, an unauthenticated attacker can send a crafted GET request directly to /oauth/:provider/callback with a forged profile in the query string. The OAuth service's authentication payload has a fallback chain that reaches params.query (the raw request query) when Grant's session/state responses are empty. Since the attacker never initiated an OAuth authorize flow, Grant has no session to work with and produces no response, so the fallback fires. The forged profile then drives entity lookup and JWT minting. The attacker gets a valid access token for an existing user without ever contacting the OAuth provider. This vulnerability is fixed in 5.0.42.

🤖 Analiza AI
Jak działa

Atakujący wysyła spreparowane żądanie GET bezpośrednio do endpointu /oauth/:provider/callback, umieszczając sfałszowany profil użytkownika w query stringu. Ponieważ atakujący nigdy nie zainicjował właściwego przepływu OAuth, biblioteka Grant nie dysponuje żadną sesją ani danymi stanu, co powoduje uruchomienie mechanizmu fallback w łańcuchu przetwarzania payloadu uwierzytelnienia. Fallback sięga do surowych parametrów żądania (params.query), gdzie atakujący umieścił sfałszowany profil. Na podstawie tych danych system wyszukuje encję użytkownika i generuje token JWT — bez jakiegokolwiek kontaktu z rzeczywistym dostawcą OAuth.

Skutki

Atakujący bez żadnego uwierzytelnienia uzyskuje ważny token dostępu JWT przypisany do istniejącego konta użytkownika, co umożliwia mu pełne podszywanie się pod tę osobę i dostęp do wszystkich zasobów chronionych tym tokenem.

Mitygacja

Należy jak najszybciej zaktualizować Feathers.js do wersji 5.0.42, w której podatność została usunięta. Do czasu wdrożenia patcha zaleca się rozważenie tymczasowego zablokowania dostępu do endpointów /oauth/:provider/callback na poziomie firewall lub reverse proxy.

Kogo dotyczy

Feathersjs Feathers w wersjach od 5.0.0 do 5.0.41 (przed 5.0.42)

Uwagi

Podatność zgłoszona i naprawiona przez zespół Feathersjs. Szczegóły techniczne dostępne w oficjalnym security advisory GHSA-wg9x-qfgw-pxhj na GitHub.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Feathersjs Feathers

    APP
    Feathersjs
    5.0.0 – 5.0.42 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth Bypass
CWE
Referencje

Powiązane podatności

CVE-2026-29793CRITICAL9.3PL ✓ten sam produkt

Feathers.js – wstrzyknięcie operatorów MongoDB przez Socket.IO (NoSQL Injection)

CVE-2026-27191HIGH7.4ten sam produkt

Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. Vers...

CVE-2026-27192HIGH7.6ten sam produkt

Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. In v...

CVE-2026-27193HIGH8.2ten sam produkt

Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. In v...

CVE-2023-37899HIGH7.5ten sam produkt

Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. Feat...