Read the docs
TI-2023-19332 Aliases CVE-2023-37899GHSA-hhr9-rh25-hvf9

feathersjs socket handler allows abusing implicit toString

Priority HIGH 72CWE-754Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. Feathers socket handler did not catch invalid string conversion errors like `const message = ${{ toString: '' }}` which would cause the NodeJS process to crash when sending an unexpected Socket.io message like `socket.emit('find', { toString: '' })`. A fix has been released in versions 5.0.8 and 4.5.18. Users are advised to upgrade. There is no known workaround for this vulnerability.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.01188 68th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed feathers (feathersjs): 4.5.18, 5.0.8@feathersjs/socketio (npm): 4.5.18, 5.0.8+1 more product

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

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 4.5.18; 5.0.0 to before 5.0.84.5.18, 5.0.8Patch availableCNA
—@feathersjs/socketio (npm)before 4.5.184.5.18Patch availableGHSA-hhr9-rh25-hvf9
—@feathersjs/socketio (npm)5.0.0 to before 5.0.85.0.8Patch availableGHSA-hhr9-rh25-hvf9
—@feathersjs/transport-commons (npm)before 4.5.184.5.18Patch availableGHSA-hhr9-rh25-hvf9
—@feathersjs/transport-commons (npm)5.0.0 to before 5.0.85.0.8Patch availableGHSA-hhr9-rh25-hvf9
  • feathers Vendorfeathersjs Affected before 4.5.18; 5.0.0 to before 5.0.8 Fixed in 4.5.18, 5.0.8 Patch available CNA
  • @feathersjs/socketio (npm) Vendor— Affected before 4.5.18 Fixed in 4.5.18 Patch available GHSA-hhr9-rh25-hvf9
  • @feathersjs/socketio (npm) Vendor— Affected 5.0.0 to before 5.0.8 Fixed in 5.0.8 Patch available GHSA-hhr9-rh25-hvf9
  • @feathersjs/transport-commons (npm) Vendor— Affected before 4.5.18 Fixed in 4.5.18 Patch available GHSA-hhr9-rh25-hvf9
  • @feathersjs/transport-commons (npm) Vendor— Affected 5.0.0 to before 5.0.8 Fixed in 5.0.8 Patch available GHSA-hhr9-rh25-hvf9

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:feathersjs:feathers:*:*:*:*:*:node.js:*:*before 4.5.18; 5.0.0 to before 5.0.8Vulnerablefeathersjs
  • cpe:2.3:a:feathersjs:feathers:*:*:*:*:*:node.js:*:* Versions before 4.5.18; 5.0.0 to before 5.0.8 Vulnerable ·feathersjs

Remediation

  • Fix · CNA feathers (feathersjs) Fixed in 4.5.18, 5.0.8
  • Fix · GHSA-hhr9-rh25-hvf9 @feathersjs/socketio (npm) Fixed in 4.5.18 Advisory →
  • Fix · GHSA-hhr9-rh25-hvf9 @feathersjs/socketio (npm) Fixed in 5.0.8 Advisory →
  • Fix · GHSA-hhr9-rh25-hvf9 @feathersjs/transport-commons (npm) Fixed in 4.5.18 Advisory →
  • Fix · GHSA-hhr9-rh25-hvf9 @feathersjs/transport-commons (npm) Fixed in 5.0.8 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-37899
  2. 2026-10-03 Alias added: GHSA-hhr9-rh25-hvf9

References

  • 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-21629 Feathers has an origin validation bypass via prefix matching CVSS 4.0HIGH 7.6
  • TI-2026-21628 Feathers: Open Redirect in OAuth callback enables account takeover CVSS 4.0HIGH 7.4

Sources