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

SUNRPC: reject duplicate CREDS_VALUE options

gssx_dec_option_array() walks the wire-supplied option array and, for
every entry whose name matches CREDS_VALUE, calls
gssx_dec_linux_creds() on the same struct svc_cred. That helper
unconditionally installs a fresh groups_alloc() result into
creds->cr_group_info without releasing whatever pointer was already
there:

for (i = 0; i < count; i++) {
... decode name ...
if (length == sizeof(CREDS_VALUE) &&
memcmp(p, CREDS_VALUE, sizeof(CREDS_VALUE)) == 0) {
err = gssx_dec_linux_creds(xdr, creds);
...
}
}

A reply that carries two CREDS_VALUE entries therefore overwrites
cr_group_info on the second iteration and orphans the group_info
allocated by the first call. The earlier free_creds path only
releases the last cr_group_info via free_svc_cred(), so the first
allocation's refcount stays at one and its kvmalloc-backed storage
is leaked. No in-tree caller of gssp_accept_sec_context_upcall()
expects more than one CREDS_VALUE per reply.

Fix by tracking whether a CREDS_VALUE option has already been
decoded and returning -EINVAL on any subsequent match, so the
free_creds path releases the single group_info that was installed.
Published: 2026-09-11
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via memory exhaustion
Action: Immediate Patch
AI Analysis

Impact

The SUNRPC handles multiple CREDS_VALUE options sent in a single RPC reply. Each repeated option causes the kernel to reinstall the group information structure without freeing the previous allocation, resulting in a memory leak. Over time the leaked kernel memory to a system-wide denial of service. The flaw does not directly expose data or alter kernel integrity; its impact is confined to resource depletion.

Affected Systems

All releases of the Linux kernel that have not integrated the commit series referenced in the advisory are affected. The vendor identified is Linux, and the vulnerability applies to the kernel itself. Any Debian, Ubuntu, Red‑Hat, CentOS, or other distributions running affected kernel versions that have not applied the patch repositories are at risk until they upgrade to a kernel containing the fix.

Risk and Exploitability

The vulnerability is exploitable by delivering crafted RPC replies that include duplicate CREDS_VALUE options, which requires the attacker to control or influence traffic to the kernel’s SUNRPC service. The likely attack vector is remote exploitation of the GSS‑based SUNRPC authentication mechanism, but a local attacker with the ability to inject such replies could also trigger the leak. EPSS indicates an exploitation probability of less than 1%, and the issue is not listed in the CISA KEV catalog, suggesting it is not actively targeted. Nonetheless, any successful exploitation results in memory exhaustion and potential denial of service on the affected node.

Generated by OpenCVE AI on September 12, 2026 at 23:38 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the commit (see the linked patch revisions).
  • If a kernel upgrade cannot be performed immediately, disable or heavily restrict SUNRPC services that accept GSS authentication, or block external RPC traffic with a firewall or network segmentation.
  • Continuously monitor kernel memory usage for unexplained spikes or leaks that may indicate exploitation attempts.

Generated by OpenCVE AI on September 12, 2026 at 23:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 12 Sep 2026 17:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Sat, 12 Sep 2026 07:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

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 duplicate CREDS_VALUE options gssx_dec_option_array() walks the wire-supplied option array and, for every entry whose name matches CREDS_VALUE, calls gssx_dec_linux_creds() on the same struct svc_cred. That helper unconditionally installs a fresh groups_alloc() result into creds->cr_group_info without releasing whatever pointer was already there: for (i = 0; i < count; i++) { ... decode name ... if (length == sizeof(CREDS_VALUE) && memcmp(p, CREDS_VALUE, sizeof(CREDS_VALUE)) == 0) { err = gssx_dec_linux_creds(xdr, creds); ... } } A reply that carries two CREDS_VALUE entries therefore overwrites cr_group_info on the second iteration and orphans the group_info allocated by the first call. The earlier free_creds path only releases the last cr_group_info via free_svc_cred(), so the first allocation's refcount stays at one and its kvmalloc-backed storage is leaked. No in-tree caller of gssp_accept_sec_context_upcall() expects more than one CREDS_VALUE per reply. Fix by tracking whether a CREDS_VALUE option has already been decoded and returning -EINVAL on any subsequent match, so the free_creds path releases the single group_info that was installed.
Title SUNRPC: reject duplicate CREDS_VALUE options
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-11T19:44:16.699Z

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

Link: CVE-2026-89539

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-09-11T20:19:36.977

Link: CVE-2026-89539

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-12T23:30:12Z

Weaknesses

No weakness.