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

SUNRPC: svcauth_gss: enforce krb5 token minimum length

svcauth_gss_unwrap_priv() validates only an upper bound on the
wire-supplied opaque length before handing the buffer to
gss_unwrap():

if (len > xdr_stream_remaining(xdr))
goto unwrap_failed;
offset = xdr_stream_pos(xdr);
...
maj_stat = gss_unwrap(ctx, offset, offset + len, buf);

The wire value `len` flows unchanged as the upper bound into the
krb5 unwrap path, so a len in [0, 16] passes this check and is
handed to gss_unwrap(). For a krb5 v2 context that lands in
gss_krb5_unwrap_v2(), which reads the 16-byte RFC 4121 token
header fields at ptr+4 and ptr+6 and then calls rotate_left()
before any integrity check. With a sub-header length the header
reads run past the token, and _rotate_left()'s `shift %= buf->len`
path can divide by zero when buf->len has been driven to zero by
the truncated token. A header-only token (len == 16) is equally
invalid: with a non-zero RRC field and the opaque blob ending at
the XDR buffer boundary, rotate_left() builds a zero-length
subbuffer, reaching the same division.

Reject the token at the server entry point before it reaches the
krb5 unwrap core. A valid sealed RFC 4121 token must contain
the 16-byte header plus at least some encrypted payload.

Fix by adding a minimum-length check immediately after the
existing upper-bound check:

if (len <= GSS_KRB5_TOK_HDR_LEN)
goto unwrap_failed;
Published: 2026-09-11
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch Now
AI Analysis

Impact

In the Linux kernel, the svcauth_gss path checks only an upper bound on the length of a wire‑supplied opaque token before passing the buffer to the GSS/Kerberos unwrap routine. Because the minimum length check was missing, a token whose length is as short as the 16‑byte RFC 4121 header could still be processed, causing the GSS unwrap logic to build a zero‑length subbuffer and divide by zero in a rotation helper. The resulting divide‑by‑zero can trigger a kernel panic, disrupting system availability. This weakness is identified as CWE‑369 and can be mitigated by rejecting the token at the server entry point before it reaches the krb5 unwrap core. The mitigation commits are available in the kernel source as of commit 2eed1e6a and subsequent releases that contain it.

Affected Systems

The flaw resides in the Linux Kernel's SUNRPC svcauth_gss implementation. All Linux kernel versions prior to the commit that adds the minimum token length check (including, but not limited to, those built before commit 2eed1e6a) are vulnerable. This affects any distribution that uses the default Ubuntu, Debian, Red Hat Enterprise Linux, Fedora, CentOS, and other kernels that include the unpatched svcauth_gss function. Specific affected versions are not listed in, any kernel before the fix is potentially vulnerable.

Risk and Exploitability

The CVSS score of 5.9 classifies this flaw as a medium‑severity vulnerability. Exploitation is likely to be remote, requiring a client to send a malformed SUNRPC Kerberos token to a vulnerable Linux server; the EPSS score is <1%, and the vulnerability is not listed in CISA’s KEV catalog. Attackers with the ability to communicate with the affected RPC service could trigger a denial of service by sending a specially crafted short token, but no known remote code execution or privilege escalation path is documented.

Generated by OpenCVE AI on September 13, 2026 at 05:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that enforces a minimum Kerberos token length; install a kernel release that incorporates commit 2eed1e6a or later.
  • If a direct kernel upgrade is not immediately possible, upgrade to a kernel version that includes the fix before the next release cycle.
  • Limit exposure of SUNRPC by restricting network access to trusted hosts or disabling Kerberos authentication on the service when appropriate.

Generated by OpenCVE AI on September 13, 2026 at 05:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-369
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: SUNRPC: svcauth_gss: enforce krb5 token minimum length svcauth_gss_unwrap_priv() validates only an upper bound on the wire-supplied opaque length before handing the buffer to gss_unwrap(): if (len > xdr_stream_remaining(xdr)) goto unwrap_failed; offset = xdr_stream_pos(xdr); ... maj_stat = gss_unwrap(ctx, offset, offset + len, buf); The wire value `len` flows unchanged as the upper bound into the krb5 unwrap path, so a len in [0, 16] passes this check and is handed to gss_unwrap(). For a krb5 v2 context that lands in gss_krb5_unwrap_v2(), which reads the 16-byte RFC 4121 token header fields at ptr+4 and ptr+6 and then calls rotate_left() before any integrity check. With a sub-header length the header reads run past the token, and _rotate_left()'s `shift %= buf->len` path can divide by zero when buf->len has been driven to zero by the truncated token. A header-only token (len == 16) is equally invalid: with a non-zero RRC field and the opaque blob ending at the XDR buffer boundary, rotate_left() builds a zero-length subbuffer, reaching the same division. Reject the token at the server entry point before it reaches the krb5 unwrap core. A valid sealed RFC 4121 token must contain the 16-byte header plus at least some encrypted payload. Fix by adding a minimum-length check immediately after the existing upper-bound check: if (len <= GSS_KRB5_TOK_HDR_LEN) goto unwrap_failed;
Title SUNRPC: svcauth_gss: enforce krb5 token minimum length
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-13T06:30:50.447Z

Reserved: 2026-09-11T19:38:34.723Z

Link: CVE-2026-89550

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:38.500

Modified: 2026-09-13T07:17:18.080

Link: CVE-2026-89550

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-11T19:44:24Z

Links: CVE-2026-89550 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T05:15:04Z

Weaknesses