GitHub Advisoryadvisory · Maven
GHSA-rrw2-px9j-qffj FS2 half-shutdown of socket during TLS handshake may result in spin loop on opposite side
MEDIUM
Official page ↗
- Aliases
- CVE-2025-58369
- Ecosystem
- Maven
- Packages
- co.fs2:fs2-io_2.12, co.fs2:fs2-io_2.13, co.fs2:fs2-io_3, co.fs2:fs2-io_0.26, co.fs2:fs2-io_0.27, co.fs2:fs2-io_2.11, co.fs2:fs2-io_2.12.0-M4, co.fs2:fs2-io_2.12.0-RC1, co.fs2:fs2-io_2.12.0-M5, co.fs2:fs2-io_2.12.0-RC2, co.fs2:fs2-io_2.13.0-M5
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-400
- Reviewed
- 2025-09-05
Affected packages
• Maven co.fs2:fs2-io_2.12: >= 3.0.0-M1, < 3.12.2 → fixed in 3.12.2
• Maven co.fs2:fs2-io_2.12: >= 3.13.0-M1, < 3.13.0-M7 → fixed in 3.13.0-M7
• Maven co.fs2:fs2-io_2.13: >= 3.0.0-M1, < 3.12.2 → fixed in 3.12.2
• Maven co.fs2:fs2-io_2.13: >= 3.13.0-M1, < 3.13.0-M7 → fixed in 3.13.0-M7
• Maven co.fs2:fs2-io_3: >= 3.0.0-M1, < 3.12.2 → fixed in 3.12.2
• Maven co.fs2:fs2-io_3: >= 3.13.0-M1, < 3.13.0-M7 → fixed in 3.13.0-M7
• Maven co.fs2:fs2-io_0.26: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_0.27: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_2.11: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_2.12.0-M4: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_2.12.0-RC1: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_2.12.0-M5: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_2.12.0-RC2: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_2.13.0-M5: < 2.5.13 (no fix yet)
• Maven co.fs2:fs2-io_2.12: < 2.5.13 → fixed in 2.5.13
• Maven co.fs2:fs2-io_2.13: < 2.5.13 → fixed in 2.5.13
• Maven co.fs2:fs2-io_3: < 2.5.13 → fixed in 2.5.13
Description
Impact
When establishing a TLS session using `fs2-io` on the JVM using the `fs2.io.net.tls` package, 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. This CPU is consumed until the overall connection is closed.
This could be used as a denial of service attack on an fs2-io powered server -- for example, by opening many connections and putting them in a half-shutdown state.
Note: this issue impacts ember backed http4s servers with HTTPS as a result of ember using fs2's TLS support.
Patches
Fixed in fs2 3.12.2 and 3.13.0-M7.
Workarounds
No workarounds.
For more information
If you have any questions or comments about this advisory:
Open an issue.
Contact the Typelevel Security Team.
Related
Alias · CVE (1)
- CVE-2025-58369 fs2 is a compositional, streaming I/O library for Scala. vulnerability
Weakness · CWE (1)
- CWE-400 Uncontrolled Resource Consumption weakness
References
- https://github.com/typelevel/fs2/security/advisories/GHSA-rrw2-px9j-qffj web
- https://nvd.nist.gov/vuln/detail/CVE-2025-58369 advisory
- https://github.com/typelevel/fs2/issues/3590 web
- https://github.com/typelevel/fs2/pull/3624 web
- https://github.com/typelevel/fs2/commit/46e2dc3abf994dcf3d0b804b2ddb3c10c04d4976 web
- https://github.com/typelevel/fs2/commit/5c6c4c6c1ef330f7e6b53661ecc63d5f5ba8885c web
- https://github.com/typelevel/fs2/commit/edf0c4f2e660360d1c1a8c5377ce32294de89238 web
- https://github.com/typelevel/fs2 package
- https://github.com/typelevel/fs2/releases/tag/v3.12.2 web
- https://github.com/typelevel/fs2/releases/tag/v3.13.0-M7 web