---
cve: "CVE-2026-89538"
severity: "CRITICAL"
cvss: 9.8
epss: "70%"
vendor: "Linux"
kev: false
exploited: false
published: "2026-09-11 20:19:36"
tags: [cve, security, critical]
source: tsecurity.de CVE-Dossier
exported: "2026-09-17T11:59:41+02:00"
---

# CVE-2026-89538

> 9.8 CRITICAL

## Beschreibung

In the Linux kernel, the following vulnerability has been resolved:

SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field

gss_krb5_unwrap_v2() sets buf->len to a logical
length, which can be much smaller than head[0].iov_len
(the allocated receive-page capacity).  It then calls
xdr_buf_trim() with a trim length derived from the 16-bit
"extra count" (ec) field in the Kerberos v2 token header.

The ec field is authenticated by the post-decrypt memcmp()
against the encrypted header copy, so a randomly-mutated
value is rejected.  However, any peer holding a valid GSS
context can legitimately encrypt a token whose ec exceeds
the plaintext length.  Per RFC 4121, such a token is
structurally malformed.

Although xdr_buf_trim() now clamps the buf->len subtraction
to avoid unsigned underflow, the buffer is still left in a
semantically invalid state (zero length, inconsistent iov
lengths) when ec is oversized.

Reject these tokens before calling xdr_buf_trim(), giving
callers a well-defined GSS_S_DEFECTIVE_TOKEN error and
keeping the xdr_buf internally consistent.  The wrapped blob
begins at a nonzero offset -- both callers pass len as
offset + opaque_len -- so buf->len still counts the offset
bytes that precede the blob.  Compare the trim length
against the remaining wrapped segment, buf->len - offset,
rather than the whole buffer; comparing against buf->len
alone leaves an offset-wide window in which an oversized ec
passes the test and xdr_buf_trim() cuts into the bytes ahead
of the blob.

## CVSS-Vektor

```
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
```

| Metrik | Wert | Bewertung |
|---|---|---|
| AV Angriffsvektor | Netzwerk | bad |
| AC Komplexität | Gering | bad |
| PR Privilegien | Keine | bad |
| UI Interaktion | Keine | bad |
| S Scope | Unverändert | good |
| C Vertraulichkeit | Hoch | bad |
| I Integrität | Hoch | bad |
| A Verfügbarkeit | Hoch | bad |

## Patch verfügbar (OSV)

- Kernel ≥ 5.10.270
- Kernel ≥ 5.15.221
- Kernel ≥ 6.1.188
- Kernel ≥ 6.6.157
- Kernel ≥ 6.12.109
- Kernel ≥ 6.18.50
- Kernel ≥ 7.2.4

## Referenzen

- <https://git.kernel.org/stable/c/ac9efc29346b6942e71f0e24a3178a9121330fab>
- <https://git.kernel.org/stable/c/b5746095b59f4d11f39f08751d36bbdfd1e5deac>
- <https://git.kernel.org/stable/c/9fc6d6e6db49ab55208d5dd1c424c1d0d9aa7296>
- <https://git.kernel.org/stable/c/4abb44a29bb515df6f49123848765c70fc9b5021>
- <https://git.kernel.org/stable/c/dfcd81ab45613d45996fbf483d4ef54b0ec90ab9>
- <https://git.kernel.org/stable/c/1f9856af065b6158271687e9788407b9573fd16f>
- <https://git.kernel.org/stable/c/880effc943ed82d6811f272ed3307c222b40f4d6>
- <https://git.kernel.org/stable/c/ad484748eec0a66eac0f13ab53b3fbedb7333c91>

---
_Exportiert aus dem [tsecurity.de CVE-Dossier](https://tsecurity.de/cve?cve=CVE-2026-89538) · Datenquellen: EUVD (ENISA), NVD, OSV, CISA KEV, FIRST EPSS, Exploit-DB, BSI BITS_
