Every CVE Search/ Get API key

CVE-2025-58369

fs2: Half-shutdown of socket during TLS handshake may result in spin loop on opposite side

5.3 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.47%Up 0.4 points since Sep 6, 2025
90%50%10%1%

What each source reports

CVE List Score used 5.3

fs2: Half-shutdown of socket during TLS handshake may result in spin loop on opposite side

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.

Record
CVE-2025-58369
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-400
Updated
2026-11-02
EUVDEUVD-2025-27048 5.3

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.

Record
EUVD-2025-27048
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-rrw2-px9j-qffj 5.3

FS2 half-shutdown of socket during TLS handshake may result in spin loop on opposite side

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.

Record
GHSA-rrw2-px9j-qffj
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-400
Updated
2026-11-02
NVD 5.3

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.

Record
CVE-2025-58369
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-400
Updated
2026-11-02
OSV 5.3

fs2: Half-shutdown of socket during TLS handshake may result in spin loop on opposite side

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.

Record
CVE-2025-58369
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-400
Updated
2026-11-02
OSVGHSA-rrw2-px9j-qffj 5.3

FS2 half-shutdown of socket during TLS handshake may result in spin loop on opposite side

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.

Record
GHSA-rrw2-px9j-qffj
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-400
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
co.fs2:fs2-io_2.12
Maven
3.13.0-M1 up to 3.13.0-M7
3.13.0-M7
co.fs2:fs2-io_2.13
Maven
3.13.0-M1 up to 3.13.0-M7
3.13.0-M7
co.fs2:fs2-io_3
Maven
3.13.0-M1 up to 3.13.0-M7
3.13.0-M7
co.fs2:fs2-io_2.12
Maven
3.0.0-M1 up to 3.12.2
3.12.2
co.fs2:fs2-io_2.13
Maven
3.0.0-M1 up to 3.12.2
3.12.2
co.fs2:fs2-io_3
Maven
3.0.0-M1 up to 3.12.2
3.12.2
co.fs2:fs2-io_0.26
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_0.27
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.11
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.12.0-M4
Maven
before 2.5.13
2.5.13
Show 24 moreShow less
Affected packages
PackageAffectedFixed
co.fs2:fs2-io_2.12.0-RC1
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.12.0-M5
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.12.0-RC2
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.13.0-M5
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.12
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.13
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_3
Maven
before 2.5.13
2.5.13
co.fs2:fs2-io_2.12
Maven
3.0.0-M1 up to 3.12.2, plus listed versions
3.0-02891453.0-045ebbb3.0-047d51d3.0-0591bb73.0-085e456
Show 45 moreShow less
3.0-0bb4bb23.0-0ca6acd3.0-0dfc8583.0-0e26dbd3.0-1-a96dc773.0-10-5c8bb3b3.0-10-79348273.0-10-979dff63.0-10-989f7a23.0-10-c920bee3.0-100-e1126313.0-101-bbca8393.0-102-30295e33.0-103-1cc67303.0-106-c6387533.0-107-c54815f3.0-109-e17c45d3.0-11-990650d3.0-111-a95ee443.0-113-87116233.0-116-2c116d63.0-116-de371a53.0-117-375521f3.0-12-0c0ce2f3.0-12-2af05713.0-12-7d4150a3.0-12-fb1b6f93.0-12-ff1970e3.0-121-8013a953.0-121-e4872e63.0-122-b9c31783.0-124-5d7a7623.0-124-b9bcb663.0-126-567bf1d3.0-12e0bc03.0-13-2b411c53.0-13-8ca332b3.0-13-99492193.0-130-1713a293.0-132-e67ebd13.0-132-ea59c103.0-136-72a3de23.0-137-cb074ba3.0-137-dd1db283.0-139-e8c50f3
3.12.2
co.fs2:fs2-io_2.12
Maven
3.13.0-M1 up to 3.13.0-M7, plus listed versions
3.13.0-M23.13.0-M33.13.0-M53.13.0-M6
3.13.0-M7
co.fs2:fs2-io_2.13
Maven
3.0.0-M1 up to 3.12.2, plus listed versions
3.0-02891453.0-045ebbb3.0-047d51d3.0-0591bb73.0-085e456
Show 45 moreShow less
3.0-0bb4bb23.0-0ca6acd3.0-0dfc8583.0-0e26dbd3.0-1-a96dc773.0-10-5c8bb3b3.0-10-79348273.0-10-979dff63.0-10-989f7a23.0-10-c920bee3.0-100-e1126313.0-101-bbca8393.0-102-30295e33.0-103-1cc67303.0-106-c6387533.0-107-c54815f3.0-109-e17c45d3.0-11-990650d3.0-111-a95ee443.0-113-87116233.0-116-2c116d63.0-116-de371a53.0-117-375521f3.0-12-0c0ce2f3.0-12-2af05713.0-12-7d4150a3.0-12-fb1b6f93.0-12-ff1970e3.0-121-8013a953.0-121-e4872e63.0-122-b9c31783.0-124-5d7a7623.0-124-b9bcb663.0-126-567bf1d3.0-12e0bc03.0-13-2b411c53.0-13-8ca332b3.0-13-99492193.0-130-1713a293.0-132-e67ebd13.0-132-ea59c103.0-136-72a3de23.0-137-cb074ba3.0-137-dd1db283.0-139-e8c50f3
3.12.2
co.fs2:fs2-io_2.13
Maven
3.13.0-M1 up to 3.13.0-M7, plus listed versions
3.13.0-M23.13.0-M33.13.0-M53.13.0-M6
3.13.0-M7
co.fs2:fs2-io_3
Maven
3.0.0-M1 up to 3.12.2, plus listed versions
3.0-10-5c8bb3b3.0-10-79348273.0-10-989f7a23.0-10-c920bee3.0-101-bbca839
Show 45 moreShow less
3.0-103-1cc67303.0-107-c54815f3.0-117-375521f3.0-12-0c0ce2f3.0-12-7d4150a3.0-12-fb1b6f93.0-121-8013a953.0-124-5d7a7623.0-13-2b411c53.0-13-8ca332b3.0-130-1713a293.0-132-ea59c103.0-137-cb074ba3.0-14-478b3c33.0-14-bf73c023.0-141-fa4c1d53.0-143-df426d03.0-145-25b16723.0-15-f96dad13.0-16-23f5c5a3.0-16-73742f53.0-16-ac50b2f3.0-16-b119f823.0-18-342d18f3.0-18-a20779f3.0-19-723d2bf3.0-2-2eed22b3.0-2-5aec1613.0-2-a745d703.0-2-e11f4df3.0-20-44aa9aa3.0-20-e82e2c73.0-20-ff09d7e3.0-21-853c4073.0-22-328a1253.0-22-652a9673.0-24-1450b7f3.0-24-79943383.0-25-6c40b6b3.0-25-892cda63.0-26-ce8cda93.0-27-095de6c3.0-29-8c600343.0-29-f855bf83.0-319-b53c370
3.12.2
co.fs2:fs2-io_3
Maven
3.13.0-M1 up to 3.13.0-M7, plus listed versions
3.13.0-M23.13.0-M33.13.0-M53.13.0-M6
3.13.0-M7
co.fs2:fs2-io_0.26
Maven
All versions, plus listed versions
2.4-4ed62ae2.4-8fa361a2.4-d455ec82.4-d6ca5da2.4.3
Show 6 moreShow less
2.4.43.0-0bb4bb23.0-4e770f03.0-64069b93.0-825babc3.0-a355a2e
None known
co.fs2:fs2-io_0.27
Maven
All versions, plus listed versions
2.4-0076a632.4-06d97e92.4-0d3c7b82.4-0fb91f32.4-14075f2
Show 45 moreShow less
2.4-16001992.4-16b3ea42.4-1731d9f2.4-1e40a2b2.4-1fc59302.4-255d5cd2.4-2c6305e2.4-2d519812.4-2fe25182.4-30a57b92.4-3411bc52.4-35ba5da2.4-3dea4bf2.4-42795dd2.4-42b3d0d2.4-42b88762.4-43a07212.4-5461f352.4-559c8612.4-5730e6e2.4-58cbf862.4-59006ce2.4-5fc8de02.4-676b2de2.4-6aecba02.4-6c355652.4-708dd492.4-71f938e2.4-72b47d92.4-7382e692.4-773fe742.4-7a3b8582.4-7b28fee2.4-7dcf0282.4-87f83612.4-995d5d62.4-9cf1c252.4-a02957a2.4-a11eb332.4-a87c9702.4-a9ff2662.4-b2f49e52.4-bc3a1aa2.4-bc3a9672.4-c73acad
None known
co.fs2:fs2-io_2.11
Maven
All versions, plus listed versions
0.10.00.10.0-M10.10.0-M100.10.0-M110.10.0-M2
Show 45 moreShow less
0.10.0-M30.10.0-M40.10.0-M50.10.0-M60.10.0-M70.10.0-M80.10.0-M90.10.0-RC10.10.0-RC20.10.10.10.20.10.30.10.40.10.50.10.60.10.70.9.00.9.0-M10.9.0-M20.9.0-M30.9.0-M40.9.0-M50.9.0-M60.9.0-RC10.9.0-RC20.9.10.9.20.9.30.9.40.9.50.9.5-RC10.9.60.9.71.0.01.0.0-M11.0.0-M21.0.0-M31.0.0-M41.0.0-M51.0.0-RC11.0.0-RC21.0.11.0.21.0.31.0.4
None known
co.fs2:fs2-io_2.12.0-M4
Maven
All versions, plus listed versions
0.9.0-M10.9.0-M20.9.0-M30.9.0-M4
None known
co.fs2:fs2-io_2.12.0-RC1
Maven
All versions, plus listed versions
0.9.00.9.1
None known
co.fs2:fs2-io_2.12.0-M5
Maven
All versions, plus listed versions
0.9.0-M50.9.0-M60.9.0-RC10.9.0-RC2
None known
co.fs2:fs2-io_2.12.0-RC2
Maven
All versions, plus listed versions
0.9.1
None known
co.fs2:fs2-io_2.13.0-M5
Maven
All versions, plus listed versions
1.0.31.0.4
None known
co.fs2:fs2-io_2.12
Maven
before 2.5.13, plus listed versions
0.10.00.10.0-M10.10.0-M100.10.0-M110.10.0-M2
Show 45 moreShow less
0.10.0-M30.10.0-M40.10.0-M50.10.0-M60.10.0-M70.10.0-M80.10.0-M90.10.0-RC10.10.0-RC20.10.10.10.20.10.30.10.40.10.50.10.60.10.70.9.20.9.30.9.40.9.50.9.5-RC10.9.60.9.71.0.01.0.0-M11.0.0-M21.0.0-M31.0.0-M41.0.0-M51.0.0-RC11.0.0-RC21.0.11.0.21.0.31.0.41.0.51.1.0-M11.1.0-M22.0.02.0.12.1.02.2.02.2.12.2.22.3.0
2.5.13
co.fs2:fs2-io_2.13
Maven
before 2.5.13, plus listed versions
1.1.0-M11.1.0-M22.0.02.0.12.1.0
Show 45 moreShow less
2.2.02.2.12.2.22.3.02.4-0076a632.4-06d97e92.4-0d3c7b82.4-0fb91f32.4-14075f22.4-16001992.4-16b3ea42.4-1731d9f2.4-1e40a2b2.4-1fc59302.4-255d5cd2.4-2c6305e2.4-2d519812.4-2fe25182.4-30a57b92.4-3411bc52.4-35ba5da2.4-3dea4bf2.4-42795dd2.4-42b3d0d2.4-42b88762.4-43a07212.4-4ed62ae2.4-5461f352.4-559c8612.4-5730e6e2.4-58cbf862.4-59006ce2.4-5fc8de02.4-676b2de2.4-6aecba02.4-6c355652.4-708dd492.4-71f938e2.4-72b47d92.4-7382e692.4-773fe742.4-7a3b8582.4-7b28fee2.4-7dcf0282.4-87f8361
2.5.13
co.fs2:fs2-io_3
Maven
before 2.5.13, plus listed versions
2.5-13-1a7ce3e2.5-14-d78ca552.5-15-fdcf03a2.5-16-f51e5bd2.5-2-0f99472
Show 22 moreShow less
2.5-2-54ba4972.5-2-d8fe2292.5-20-cd0f23a2.5-22-b8507982.5-26-07232562.5-28-1e4bfb42.5-3-b59bc252.5-33-7c6a7b92.5-37-24282e22.5-4-2e3a96a2.5-5-9970d712.5-5-bf2966a2.5-6-1ac0af72.5-7-f63941f2.5-9-60c7cb42.5.102.5.112.5.122.5.62.5.72.5.82.5.9
2.5.13

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2025-58369 is a medium vulnerability (CVSS 5.3) in Typelevel Fs2, published September 5, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.47%, the 40th percentile. Fixed in co.fs2:fs2-io_2.12 3.13.0-M7.

References

Show 6 moreShow less
This page doesn't list everything

Left out here: 1,472 versions. The JSON record has them.

MoveEnter Open