# GHSA-hjr9-wj7v-7hv8: Sliver Vulnerable to Pre-Auth Memory Exhaustion via NoEncoder Bypass

> Unauthenticated attackers can crash the Sliver C2 server by sending crafted requests that trigger unlimited memory allocation, causing denial of service.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** No
- **Published:** 5 Jan 2026
- **Also known as:** GO-2026-4280

## What is GHSA-hjr9-wj7v-7hv8?

GHSA-hjr9-wj7v-7hv8 is a denial of service vulnerability in github.com/bishopfox/sliver, published on 5 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

### Summary
A specially crafted nonce routes unauthenticated requests through the NoEncoder path, where `startSessionHandler()` reads the entire request body without limits, allowing attacker-driven memory exhaustion and process crash.

### Details
- `server/encoders/encoders.go`: `EncoderFromNonce()` returns NoEncoder when `nonce % 65537 == 0` (lines 254-264); NoEncoder is a passthrough (`util/encoders/nop.go:22-32`).
- `server/c2/http.go`: `anonymousHandler()` routes requests with any encoder (including NoEncoder) to `startSessionHandler()` (lines 551-562).
- `server/c2/http.go`: `startSessionHandler()` uses `io.ReadAll(req.Body)` without a size cap (lines 564-643), unlike the authenticated path that uses `io.LimitedReader` (`readReqBody()`, lines 708-732).

### PoC
An attacker could send an HTTP POST with a nonce that is a multiple of 65537 (e.g., ?q=65537) so it is handled by startSessionHandler() with a NoEncoder, and advertise a very large Content-Length while streaming data. Because this handler uses io.ReadAll(req.Body) without a size limit, the server is expected to allocate large amounts of memory and may exhaust available RAM, leading to process termination on typical deployments.

### Impact
Unauthenticated remote DoS: attacker can crash the Sliver HTTP listener, dropping all active sessions and locking out operators until restart. No credentials or non-default config required.

## Which versions are affected by GHSA-hjr9-wj7v-7hv8?

3 open source packages ship an affected version, including github.com/bishopfox/sliver.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `github.com/bishopfox/sliver` | Go | From 1.5.0 | None |
| `github.com/bishopfox/sliver` | Go | From 1.5.0 to 1.5.44 | None |
| `github.com/bishopfox/sliver` | Go | From 1.5.0 to 1.5.44 | None |

## How do I fix GHSA-hjr9-wj7v-7hv8?

No fix has been published for GHSA-hjr9-wj7v-7hv8 yet. Limit exposure of the affected software until one is available.

## Is GHSA-hjr9-wj7v-7hv8 being exploited?

There is no known exploitation of GHSA-hjr9-wj7v-7hv8 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for GHSA-hjr9-wj7v-7hv8 and fix it if it is affected.

What it is: GHSA-hjr9-wj7v-7hv8 is a denial of service vulnerability in github.com/bishopfox/sliver, published on 5 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of GHSA-hjr9-wj7v-7hv8 in the wild and no public exploit code.

Affected packages and fixed versions:
- github.com/bishopfox/sliver (Go): affected from 1.5.0; no fix listed
- github.com/bishopfox/sliver (Go): affected from 1.5.0 up to 1.5.44; no fix listed
- github.com/bishopfox/sliver (Go): affected from 1.5.0 up to 1.5.44; no fix listed

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/GHSA-hjr9-wj7v-7hv8/ (Markdown: https://insights.sbomify.com/GHSA-hjr9-wj7v-7hv8/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/GHSA-hjr9-wj7v-7hv8

---
From sbomify Insights: https://insights.sbomify.com/GHSA-hjr9-wj7v-7hv8/
Summaries are generated and may contain mistakes; the official description above is the record.
