CVE-2023-37899 feathersjs socket handler allows abusing implicit toString

High 7.5 Published Updated

An attacker can crash the Node.js process by sending a crafted Socket.io message with an invalid toString property, requiring an upgrade to fix.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2023-37899?

CVE-2023-37899 is a high-severity denial of service vulnerability in feathersjs feathers, published on 19 Jul 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-754

Which versions are affected by CVE-2023-37899?

8 open source packages ship an affected version, including @feathersjs/socketio and @feathersjs/transport-commons. It affects 1 product.

PackageAffectedFixed in
@feathersjs/socketio npmAll versions4.5.18
@feathersjs/socketio npmAll versions4.5.18
@feathersjs/socketio npmFrom 5.0.05.0.8
@feathersjs/socketio npmFrom 5.0.05.0.8
@feathersjs/transport-commons npmAll versions4.5.18
@feathersjs/transport-commons npmAll versions4.5.18
2 more packages
@feathersjs/transport-commons npmFrom 5.0.05.0.8
@feathersjs/transport-commons npmFrom 5.0.05.0.8

Products include Feathersjs Feathers.

How do I fix CVE-2023-37899?

Upgrade @feathersjs/socketio to a fixed version for your release line: 4.5.18 or 5.0.8.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2023-37899 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-37899 exists.

Sources

Also known as GHSA-hhr9-rh25-hvf9.

Is CVE-2023-37899 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free