CVE-2023-37899 json
feathersjs socket handler allows abusing implicit toString
published 2023-07-19 3 y ago modified 2026-06-17 4 mo ago also GHSA-hhr9-rh25-hvf9 , EUVD-2023-2077
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 68%
- public exploits
- 0
- none known
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.
Patch / fix
- npm @feathersjs/socketio 4.5.18, 5.0.8
- npm @feathersjs/transport-commons 4.5.18, 5.0.8
- feathersjs feathers 4.5.18, 5.0.8
- github.com/feathersjs/feathers@0b9a6b1 commit
- github.com/feathersjs/feathers@c397ab3 commit
- github.com/feathersjs/feathers#3241 pull request
- github.com/feathersjs/feathers#3242 pull request
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
1.19% chance of exploitation in the next 30 days, higher than 68% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/feathersjs/feathers/security/advisories/GHSA-hhr9-rh25-hvf9 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @feathersjs/socketio | <4.5.18 >=5.0.0, <5.0.8 |
4.5.18 5.0.8 |
| npm | @feathersjs/transport-commons | <4.5.18 >=5.0.0, <5.0.8 |
4.5.18 5.0.8 |
Affected products
- feathersjs feathers
Classification
- Weakness
-
- CWE-754 Improper Check for Unusual or Exceptional Conditions
References
-
github.com
/feathersjs/feathers/pull/3241
web, patch
-
github.com
/feathersjs/feathers/pull/3242
web, patch
-
github.com
/feathersjs/feathers/commit/0b9a6b19b12ad05934e4c8bd9917448ed39d1ed8
web
-
github.com
/feathersjs/feathers/commit/c397ab3a0cd184044ae4f73540549b30a396821c
web
-
github.com
/feathersjs/feathers/security/advisories/GHSA-hhr9-rh25-hvf9
web, exploit, vendor-advisory
-
github.com
/feathersjs/feathers/blob/crow/CHANGELOG.md#4518-2023-07-19
web, release-notes
-
github.com
/feathersjs/feathers/blob/dove/CHANGELOG.md#508-2023-07-19
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2023-37899
advisory
-
github.com
/feathersjs/feathers
package
Sources
- CVE List CVE-2023-37899
- GitHub Advisory GHSA-hhr9-rh25-hvf9
- NVD CVE-2023-37899
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.