fs2: Half-shutdown of socket during TLS handshake may result in spin loop on opposite side
13Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 5.3epss 0.4%
exploitation probability
0.4%top 63% of all CVEs
observed exploitation
nono source reports it
fs2 is a compositional, streaming I/O library for Scala. Versions up to and including 2.5.12, 3.0.0-M1 through 3.12.2, and 3.13.0-M1 through 3.13.0-M6 are vulnerable to denial of service attacks though TLS sessions using fs2-io on the JVM using the fs2.io.net.tls package. When establishing a TLS session, if one side of the connection shuts down `write` while the peer side is awaiting more data to progress the TLS handshake, the peer side will spin loop on the socket read, fully utilizing a CPU. The CPU is consumed until the overall connection is closed, potentially shutting down a fs2-io powered server. This issue is fixed in versions 2.5.13, 3.12.1, and 3.13.0-M7.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Affected products
typelevel · fs2References
https://github.com/typelevel/fs2/commit/46e2dc3abf994dcf3d0b804b2ddb3c10c04d4976https://github.com/typelevel/fs2/commit/5c6c4c6c1ef330f7e6b53661ecc63d5f5ba8885chttps://github.com/typelevel/fs2/commit/edf0c4f2e660360d1c1a8c5377ce32294de89238https://github.com/typelevel/fs2/issues/3590https://github.com/typelevel/fs2/releases/tag/v3.12.2https://github.com/typelevel/fs2/releases/tag/v3.13.0-M7https://github.com/typelevel/fs2/security/advisories/GHSA-rrw2-px9j-qffj