Read the docs
TI-2026-21629 Aliases CVE-2026-27192GHSA-mp4x-c34x-wv3x

Feathers has an origin validation bypass via prefix matching

Priority LOW 35CWE-346Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
High
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-346.

Summary

Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. In versions 5.0.39 and below, origin validation uses startsWith() for comparison, allowing attackers to bypass the check by registering a domain that shares a common prefix with an allowed origin.The getAllowedOrigin() function checks if the Referer header starts with any allowed origin, and this comparison is insufficient as it only validates the prefix. This is exploitable when the origins array is configured and an attacker registers a domain starting with an allowed origin string (e.g., https://target.com.attacker.com bypasses https://target.com). On its own, tokens are still redirected to a configured origin. However, in specific scenarios an attacker can initiate the OAuth flow from an unauthorized origin and exfiltrate tokens, achieving full account takeover. This issue has bee fixed in version 5.0.40.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0027 19th percentileScored 2026-11-07
Fix Fixed feathers (feathersjs): 5.0.40@feathersjs/authentication-oauth (npm): 5.0.40

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
feathersjsfeathersbefore 5.0.405.0.40Patch availableCNA
—@feathersjs/authentication-oauth (npm)before 5.0.405.0.40Patch availableGHSA-mp4x-c34x-wv3x
  • feathers Vendorfeathersjs Affected before 5.0.40 Fixed in 5.0.40 Patch available CNA
  • @feathersjs/authentication-oauth (npm) Vendor— Affected before 5.0.40 Fixed in 5.0.40 Patch available GHSA-mp4x-c34x-wv3x

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:feathersjs:feathers:*:*:*:*:*:node.js:*:*before 5.0.40Vulnerablefeathersjs
  • cpe:2.3:a:feathersjs:feathers:*:*:*:*:*:node.js:*:* Versions before 5.0.40 Vulnerable ·feathersjs

Remediation

  • Fix · CNA feathers (feathersjs) Fixed in 5.0.40
  • Fix · GHSA-mp4x-c34x-wv3x @feathersjs/authentication-oauth (npm) Fixed in 5.0.40 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-27192
  2. 2026-10-03 Alias added: GHSA-mp4x-c34x-wv3x

References

  • TI-2023-19332 feathersjs socket handler allows abusing implicit toString CVSS 3.1HIGH 7.5
  • TI-2026-23379 NoSQL Injection via WebSocket id Parameter in MongoDB Adapter CVSS 4.0CRITICAL 9.3
  • TI-2026-23378 Feathersjs has an OAuth Callback Account Takeover CVSS 4.0CRITICAL 9.3
  • TI-2026-21630 Feathers exposes internal headers via unencrypted session cookie CVSS 4.0HIGH 8.2
  • TI-2026-21628 Feathers: Open Redirect in OAuth callback enables account takeover CVSS 4.0HIGH 7.4

Sources