CVEvulnerability

CVE-2024-42161

6.3 MEDIUM Published 2024-07-30 Modified 2026-06-17 Official page ↗
Status
Modified
Published
2024-07-30
Last modified
2026-06-17
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
6.3 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H
Weaknesses
CWE-908

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD [Changes from V1: - Use a default branch in the switch statement to initialize `val'.] GCC warns that `val' may be used uninitialized in the BPF_CRE_READ_BITFIELD macro, defined in bpf_core_read.h as: [...] unsigned long long val; \ [...] \ switch (__CORE_RELO(s, field, BYTE_SIZE)) { \ case 1: val = *(const unsigned char *)p; break; \ case 2: val = *(const unsigned short *)p; break; \ case 4: val = *(const unsigned int *)p; break; \ case 8: val = *(const unsigned long long *)p; break; \ } \ [...] val; \ } \ This patch adds a default entry in the switch statement that sets `val' to zero in order to avoid the warning, and random values to be used in case __builtin_preserve_field_info returns unexpected values for BPF_FIELD_BYTE_SIZE. Tested in bpf-next master. No regressions.

Affected configurations

• linux linux kernel (< 5.10.222) • linux linux kernel (>= 5.11 < 5.15.163) • linux linux kernel (>= 5.16 < 6.1.98) • linux linux kernel (>= 6.2 < 6.6.39) • linux linux kernel (>= 6.7 < 6.9.9)

Related

Weakness · CWE (1)

  • CWE-908 Use of Uninitialized Resource weakness

References