VDB
Sign up
MEDIUM4.2

GHSA-3fjj-p79j-c9hh

Fastify: Incorrect Content-Type parsing can lead to CSRF attack

Quick fix

GHSA-3fjj-p79j-c9hh — fastify: upgrade to the fixed version with the command below.

npm install fastify@4.10.2

Details

### Impact

The attacker can use the incorrect `Content-Type` to bypass the `Pre-Flight` checking of `fetch`. `fetch()` requests with Content-Type’s [essence](https://mimesniff.spec.whatwg.org/#mime-type-essence) as "application/x-www-form-urlencoded", "multipart/form-data", or "text/plain", could potentially be used to invoke routes that only accepts `application/json` content type, thus bypassing any [CORS protection](https://fetch.spec.whatwg.org/#simple-header), and therefore they could lead to a Cross-Site Request Forgery attack.

### Patches For `4.x` users, please update to at least `4.10.2` For `3.x` users, please update to at least `3.29.4`

### Workarounds

Implement Cross-Site Request Forgery protection using [`@fastify/csrf`](https://www.npmjs.com/package/@fastify/csrf).

### References

Check out the HackerOne report: https://hackerone.com/reports/1763832.

### For more information

[Fastify security policy](https://github.com/fastify/fastify/security/policy)

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/fastify
Introduced in: 4.0.0Fixed in: 4.10.2
Fixnpm install fastify@4.10.2
npm/fastify
Introduced in: 3.0.0Fixed in: 3.29.4
Fixnpm install fastify@3.29.4

References