CVE-2026-89539

Source
https://cve.org/CVERecord?id=CVE-2026-89539
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89539.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-89539
Downstream
Published
2026-09-11T19:44:16Z
Modified
2026-09-13T03:47:19Z
Summary
SUNRPC: reject duplicate CREDS_VALUE options
Details

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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89539.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1d658336b05f8697d6445834f8867f8ad5e4f735
Fixed
f615b884310bf82d0014e3b5a92eb9aa88146685
Fixed
7a1d0501cbb962beba23377035d667bf3c1726ee
Fixed
9d94f046b23de0f77849ea69133063c949297e30
Fixed
2e4ce62385c1b8a887c5370af058ac7b52a8eaf9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89539.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.10.0
Fixed
6.12.109
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.50
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.2.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89539.json"