CVE-2021-21294
Last modified
CVE-2021-21294 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. Http4s (http4s-blaze-server) is a minimal, idiomatic Scala interface for HTTP services. Http4s before versions 0.21.17, 0.22.0-M2, and 1.0.0-M14 have a vulnerability which can lead to a denial-of-service. EPSS estimates a 2.15% chance of exploitation in the next 30 days.
Description
Http4s (http4s-blaze-server) is a minimal, idiomatic Scala interface for HTTP services. Http4s before versions 0.21.17, 0.22.0-M2, and 1.0.0-M14 have a vulnerability which can lead to a denial-of-service. Blaze-core, a library underlying http4s-blaze-server, accepts connections unboundedly on its selector pool. This has the net effect of amplifying degradation in services that are unable to handle their current request load, since incoming connections are still accepted and added to an unbounded queue. Each connection allocates a socket handle, which drains a scarce OS resource. This can also confound higher level circuit breakers which work based on detecting failed connections. http4s provides a general "MaxActiveRequests" middleware mechanism for limiting open connections, but it is enforced inside the Blaze accept loop, after the connection is accepted and the socket opened. Thus, the limit only prevents the number of connections which can be simultaneously processed, not the number of connections which can be held open. In 0.21.17, 0.22.0-M2, and 1.0.0-M14, a new "maxConnections" property, with a default value of 1024, has been added to the `BlazeServerBuilder`. Setting the value to a negative number restores unbounded behavior, but is strongly disrecommended. The NIO2 backend does not respect `maxConnections`. Its use is now deprecated in http4s-0.21, and the option is removed altogether starting in http4s-0.22. There are several possible workarounds described in the refrenced GitHub Advisory GHSA-xhv5-w9c5-2r2w.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Typelevel | Http4s | < 0.21.17 |
References
- https://github.com/http4s/blaze/security/advisories/GHSA-xmw9-q7x9-j5qcThird Party Advisory
- https://github.com/http4s/http4s/commit/987d6589ef79545b9bb2324ac4bdebf82d9a0171Patch, Third Party Advisory
- https://github.com/http4s/http4s/security/advisories/GHSA-xhv5-w9c5-2r2wThird Party Advisory
- https://github.com/http4s/blaze/security/advisories/GHSA-xmw9-q7x9-j5qcThird Party Advisory
- https://github.com/http4s/http4s/commit/987d6589ef79545b9bb2324ac4bdebf82d9a0171Patch, Third Party Advisory
- https://github.com/http4s/http4s/security/advisories/GHSA-xhv5-w9c5-2r2wThird Party Advisory
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2021-21294?
How severe is CVE-2021-21294?
How do I fix CVE-2021-21294?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2021
- CVE-2021-21289Mechanize is an open-source ruby library that makes automate…8.3
- CVE-2021-2129Vulnerability in the Oracle VM VirtualBox product of Oracle …7.9
- CVE-2021-21290Netty is an open-source, asynchronous event-driven network a…5.5
- CVE-2021-21291OAuth2 Proxy is an open-source reverse proxy and static file…6.1
- CVE-2021-21292Traccar is an open source GPS tracking system. In Traccar be…6.3
- CVE-2021-21293blaze is a Scala library for building asynchronous pipelines…7.5
- CVE-2021-21295Netty is an open-source, asynchronous event-driven network a…5.9
- CVE-2021-21296Fleet is an open source osquery manager. In Fleet before ver…2.7
- CVE-2021-21297Node-Red is a low-code programming for event-driven applicat…6.5
- CVE-2021-21298Node-Red is a low-code programming for event-driven applicat…6.5
- CVE-2021-21299hyper is an open-source HTTP library for Rust (crates.io). I…8.1
- CVE-2021-2130Vulnerability in the Oracle VM VirtualBox product of Oracle …4.4
Are you affected by CVE-2021-21294?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
