Skip to content
VulniPulse
Critical 2 vendors · 2 advisories

CVE-2026-89674: nfsd: fix XDR length calculation in nfsd4_ff_encode_layoutget

CVE-2026-89674 key facts

CISA KEV
Not listed (catalogue checked )
Highest advisory rating
Critical
CVSS base score
9.8 (NetApp), 8.8 (Red Hat)
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H · base score 9.8, scored by LinuxAttack vector: network. Attack complexity: low. Privileges required: none. User interaction: none. Scope: unchanged. Confidentiality impact: high. Integrity impact: high. Availability impact: high.
EPSS
0.51% chance of exploitation in the next 30 days (44th percentile). FIRST EPSS, .
Vendor advisories
2 from NetApp, Red Hat
Assigned by
Linux (CNA)
CVE record published
Listed by VulniPulse
Record changed

Ratings, versions and fixes are quoted from the vendor advisories that cover only CVE-2026-89674; each belongs to its advisory, not to every product listed. How records are collected and checked.

Description

In the Linux kernel, the following vulnerability has been resolved: nfsd: fix XDR length calculation in nfsd4_ff_encode_layoutget The XDR buffer size calculation in nfsd4_ff_encode_layoutget() has multiple errors that can result in either an out-of-bounds write or leaking uninitialized kernel memory to the client: - fh_len doesn't account for XDR padding on the file handle data - uid and gid lengths use "8 + len" but xdr_encode_opaque() actually writes "4 + xdr_align_size(len)" bytes - ds_len omits the flags and stats_collect_hint fields (8 bytes), while len's header constant overestimates by 8 bytes -- these partially cancel but leave a net mismatch The worst case occurs with short strings (e.g. uid=0, gid=0 with an odd-sized file handle), where the function writes up to 5 bytes past the reserved XDR buffer. Conversely, when string lengths happen to be 4-byte aligned, the reservation is too large and stale buffer content is sent to the client. Fix this by breaking out every encoded field explicitly in the ds_len calculation, using xdr_align_size() for all variable-length opaque fields, and correcting the header constants.

Text from the CVE.org record (Linux).

Vendor advisories for CVE-2026-89674

NetApp

1 advisory
  • Advisory severityCritical9.8

    Critical [CVE-2026-89674] Linux Kernel Vulnerability in NetApp Products

    NTAP-20261002-0015Source published Source updated

    Linux kernel versions 4.8-rc1 through 6.12.108, 6.13-rc1 through 6.18.49 and 6.19-rc1 through 7.2.3 are susceptible to a vulnerability which when successfully exploited could lead to disclosure of sensitive information, addition or modification of data or Denial of Service (DoS). NetApp reports that one or more additional products remain under investigation; review the canonical advisory for current status. NetApp states there is no workaround available at this time.

    Affected products in this advisory
    No product details extracted. Check the source bulletin.
    Source-reported affected versions
    • 6.12.108
    • 6.13
    • 6.18.49
    • 6.19

    1 more entries in the full advisory.

    Source-reported fixed versions
    No fixed-version detail extracted. This does not mean no fix exists.
    Mitigation guidance
    No mitigation guidance extracted; consult the source.

Red Hat

1 advisory
  • Advisory severityHigh8.8

    High [CVE-2026-89674] fix XDR length calculation in nfsd4_ff_encode_layoutget

    CVE-2026-89674Source published Source updated

    In the Linux kernel, the following vulnerability has been resolved: nfsd: fix XDR length calculation in nfsd4_ff_encode_layoutget The XDR buffer size calculation in nfsd4_ff_encode_layoutget() has multiple errors that can result in either an out-of-bounds write or leaking uninitialized kernel memory to the client: - fh_len doesn't account for XDR padding on the file handle data - uid and gid lengths use "8 + len" but xdr_encode_opaque() actually writes "4 + xdr_align_size(len)" bytes - ds_len omits the flags and stats_collect_hint fields (8 bytes), while len's header constant overestimates by 8 bytes -- these partially cancel but leave a net mismatch The worst case occurs with short strings (e.g. uid=0, gid=0 with an odd-sized file handle), where the function writes up to 5 bytes past…

    Affected products in this advisory
    No product details extracted. Check the source bulletin.
    Source-reported affected versions
    Affected-version details not available in this record.
    Source-reported fixed versions
    No fixed-version detail extracted. This does not mean no fix exists.
    Mitigation guidance
    No mitigation guidance extracted; consult the source.

References

Timeline

  1. CVE record published
  2. First vendor advisory listed by VulniPulse
  3. CVE record last updated

All NetApp advisories

Get an email when NetApp publishes the next one.

See NetApp's last 90 days of advisories first. Then choose one product with live alerts free for life, or a free month of real-time alerts on everything with the severity, the fixed version and the vendor's link (card needed, then US$15/month; we email you before the first charge).

Alert me about NetApp

iPhone and Android apps · New on the App Store

Get alerts for new CVEs on your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.

Matching phone alertsOptional email delivery