GitHub Advisoryadvisory · npm
GHSA-455w-c45v-86rg fastify vulnerable to denial of service via malicious Content-Type
HIGH
Official page ↗
- Aliases
- CVE-2022-39288
- Ecosystem
- npm
- Packages
- fastify
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-754
- Reviewed
- 2022-10-11
Affected packages
• npm fastify: >= 4.0.0, < 4.8.1 → fixed in 4.8.1
Description
Impact
An attacker can send an invalid `Content-Type` header that can cause the application to crash, leading to a possible Denial of Service attack. Only the v4.x line is affected.
(This was updated: upon a close inspection, v3.x is not affected after all).
Patches
Yes, update to `> v4.8.0`.
Workarounds
You can reject the malicious content types before the body parser enters in action.
```js
const badNames = Object.getOwnPropertyNames({}.__proto__)
fastify.addHook('onRequest', async (req, reply) => {
for (const badName of badNames) {
if (req.headers['content-type'].indexOf(badName) > -1) {
reply.code(415)
throw new Error('Content type not supported')
}
}
})
```
References
See the HackerOne report #1715536
For more information
Fastify security policy
Related
Alias · CVE (1)
- CVE-2022-39288 fastify is a fast and low overhead web framework, for Node.js. vulnerability
Weakness · CWE (1)
- CWE-754 Improper Check for Unusual or Exceptional Conditions weakness
References
- https://github.com/fastify/fastify/security/advisories/GHSA-455w-c45v-86rg web
- https://nvd.nist.gov/vuln/detail/CVE-2022-39288 advisory
- https://github.com/fastify/fastify/commit/fbb07e8dfad74c69cd4cd2211aedab87194618e3 web
- https://github.com/fastify/fastify package
- https://github.com/fastify/fastify/security/policy web
- https://hackerone.com/bugs?report_id=1715536&subject=fastify web