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.
The attacker sends a crafted GET request directly to the /oauth/:provider/callback endpoint, placing a forged user profile in the query string. Since the attacker never initiated a proper OAuth flow, the Grant library has no session or state data, triggering a fallback mechanism in the authentication payload processing chain. The fallback accesses raw request parameters (params.query), where the attacker placed the forged profile. Based on this data, the system retrieves the user entity and generates a JWT token—without any contact with the actual OAuth provider.
An unauthenticated attacker obtains a valid JWT access token assigned to an existing user account, enabling complete impersonation of that person and access to all resources protected by that token.
Update Feathers.js to version 5.0.42 as soon as possible, where the vulnerability has been removed. Until the patch is deployed, consider temporarily blocking access to the /oauth/:provider/callback endpoints at the firewall or reverse proxy level.
Feathersjs Feathers in versions 5.0.0 to 5.0.41 (before 5.0.42)
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:XFeathersjs Feathers
APPFeathersjs5.0.0 – 5.0.42 (excl.)
Related vulnerabilities
Feathers.js – wstrzyknięcie operatorów MongoDB przez Socket.IO (NoSQL Injection)
Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. Vers...
Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. In v...
Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. In v...
Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. Feat...