CVE-2026-90104

Description

A flaw was found in the Linux kernel's NFSv4.1 implementation. When decoding callback sequence arguments, an uninitialized pointer in the referring_call_list can be passed to the kfree() function. This memory corruption vulnerability could allow a remote attacker to cause a denial of service by triggering the flaw during NFSv4.1 operations.

Statement

An uninitialized pointer bug in the NFSv4.1 callback sequence decoder can occur because decode_cb_sequence_args allocates csa_rclists without zeroing it and decode_rc_list leaves rcl_refcalls unset for a valid empty referring call list. A malicious or compromised NFSv4.1 server can cause the client to later pass stale slab contents to kfree during callback processing, which can crash the kernel and may be treated as a kernel memory corruption candidate. For the CVSS the PR:N is used because the attacker does not need privileges on the victim beyond network reachability as an NFS server endpoint already used by the client. The issue is network reachable through NFS callback processing, but practical exposure is usually limited to trusted storage or data center networks rather than the public Internet. Impact is at least denial of service via kernel crash.

Mitigation

Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score7.5N/A9.8
Attack VectorNetworkN/ANetwork
Attack ComplexityLowN/ALow
Privileges RequiredNoneN/ANone
User InteractionNoneN/ANone
ScopeUnchangedN/AUnchanged
ConfidentialityNoneN/AHigh
Integrity ImpactNoneN/AHigh
Availability ImpactHighN/AHigh

Vector

Red Hat: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

cve.org: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Understanding the Weakness (CWE)

Confidentiality,Integrity,Availability,Other

Technical Impact: Varies by Context; Read Application Data

Uninitialized variables usually contain junk, which can not be trusted for consistency. Depending on the context, uninitialized variables could lead to denial of service conditions, or modify control flow in unexpected ways. They could also contain sensitive information that could be leaked if the variable is used in output. In some cases, an attacker can "pre-initialize" the variable using previous actions - i.e., control the contents of the variable - which might enable code execution.

Availability

Technical Impact: Alter Execution Logic; Unexpected State

This can cause a race condition if a lock variable check passes when it should not.

Authorization,Other

Technical Impact: Varies by Context

Strings that are not initialized are especially dangerous, since many functions expect a null at the end -- and only at the end -- of a string.

Frequently Asked Questions

Want to get errata notifications? Sign up here.