High, CVSS 8.2GoAmendedPublished
Sliver: Unauthenticated Memory Exhaustion Denial of Service in Sliver HTTP(S) Listener PNG Decoder
CVE-2026-77622 · GHSA-663m-7x7m-g4fw
- Affected
- Go github.com/BishopFox/sliver < 1.7.6
- Fixed in
- 1.7.6· Vendor fix available
- Issue
- Sliver is vulnerable to a Denial of Service (DOS) attack because there is no cap in the size of a PNG file that can be sent to an open http listener and there is a small amount of possible nonces. This vulnerability lets the attacker completely max out the RAM of the machine running server, leading to a complete loss of availability. Details The first vulnerability is that the amount of possible nonces is 65,537. This is found in server/encoders/encoders.go The second vulnerability is there is no limit to how many pixels the PNG encoder will accept from an unauthenticated user. This is found in: util/encoders/images.go PoC The first step to reproduce this vulnerability is building a docker container to make sure no harm is caused. Get the latest version of Sliver (Currently 1.7.3) Build the Docker container: Run the Docker container with a memory cap for example 4GB: After the Docker container starts, create an http listener on port 8080: In a seperate terminal create the…
Recommended action: Upgrade to 1.7.6 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.