Description
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.
Published: 2026-09-11
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via kernel buffer underflow
Action: Patch Kernel
AI Analysis

Impact

The vulnerability resides in the SUNRPC component of the Linux kernel. When processing Kerberos v2 wrap tokens, the kernel incorrectly trims a buffer based on an oversized encrypted count (ec) field. The buffer length is decreased using a value derived from the 16‑bit ec field, while the actual data length is often smaller. This can leave the memory in an inconsistent state, potentially leading to a buffer underflow when the kernel later accesses the truncated buffer. The impact is limited to the integrity and availability of the kernel process handling the RPC call; it does not directly provide code execution, but any fatal error in privileged context could cause a system crash.

Affected Systems

All Linux kernel distributions are affected, as indicated by the generic CPE string for Linux kernel. No specific version ranges are provided, meaning with the fix is potentially vulnerable. The flaw spans the entire Linux vendor ecosystem, impacting all deployments that use SUNRPC with Kerberos authentication.

Risk and Exploitability

The CVSS score of 5.3 indicates moderate severity, and the EPSS score of < 1% suggests a low exploitation probability. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to possess a valid GSS context—either through legitimate access or credential compromise—and to transmit a malformed Kerberos v2 wrap token with an oversized ec field to the target RPC service. Based on the description, the likely attack vector is a network‑level exploit directed at an RPC endpoint that accepts Kerberos authentication. Because the bug only impacts kernel internals that trim buffer lengths, exploitation is limited to causing an invalid state and potential kernel crash, which could lead to denial of service or further exploitation if the crash can be leveraged for privilege escalation.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to the latest version that includes.
  • Restrict access to RPC services that use Kerberos authentication by limiting the subnet and employing firewall rules to block traffic from untrusted hosts.
  • Configure system monitoring to detect GSS_S_DEFECTIVE_TOKEN errors or unexpected kernel panics and alert administrators for prompt investigation.

Generated by OpenCVE AI on September 13, 2026 at 04: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.3, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/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-131
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/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: 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.
Title SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field
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:36.205Z

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

Link: CVE-2026-89538

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-89538

cve-icon Redhat

Severity : Important

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

Links: CVE-2026-89538 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T04:15:13Z

Weaknesses
  • CWE-131

    Incorrect Calculation of Buffer Size