CVE-2026-53076
Beschrijving NL
In de Linux kernel is de volgende kwetsbaarheid verholpen:
bpf: Fix OOB in pcpu_init_value
Een out-of-bounds read treedt op bij het kopiëren van een element van een
BPF_MAP_type_CGROUP_STORAGE kaart naar een andere pcpu kaart met de
dezelfde VALUE_size die niet naar boven is afgerond op 8 bytes. Het probleem doet zich voor wanneer:
1. Er wordt een CGROUP_Storage-kaart gemaakt met VALUE_size die niet is uitgelijnd met
8 bytes (bijv. 4 bytes)
2. Er wordt een pcpu-kaart gemaakt met dezelfde value_size (bijv. 4 bytes)
3. Werk element in 2 bij met gegevens in 1
pcpu_init_value gaat ervan uit dat alle bronnen naar boven worden afgerond op 8 bytes,
en roept copy_map_value_long aan om een datakopie te maken, maar de
veronderstelling staat niet omdat er enkele gevallen zijn waarin de bron
mag niet naar boven worden afgerond tot 8 bytes, bijv. CGROUP_STORAGE, skb->data. de verificateur verifieert precies de grootte die de bron beweert, niet
de grootte naar boven afgerond op 8 bytes per kernel, gebeurt er een OOB wanneer de
bron heeft slechts 4 bytes, terwijl de kopiegrootte(4) naar boven is afgerond op 8.
Origineel (Engels) tonen
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix OOB in pcpu_init_value
An out-of-bounds read occurs when copying element from a
BPF_MAP_TYPE_CGROUP_STORAGE map to another pcpu map with the
same value_size that is not rounded up to 8 bytes.
The issue happens when:
1. A CGROUP_STORAGE map is created with value_size not aligned to
8 bytes (e.g., 4 bytes)
2. A pcpu map is created with the same value_size (e.g., 4 bytes)
3. Update element in 2 with data in 1
pcpu_init_value assumes that all sources are rounded up to 8 bytes,
and invokes copy_map_value_long to make a data copy, However, the
assumption doesn't stand since there are some cases where the source
may not be rounded up to 8 bytes, e.g., CGROUP_STORAGE, skb->data.
the verifier verifies exactly the size that the source claims, not
the size rounded up to 8 bytes by kernel, an OOB happens when the
source has only 4 bytes while the copy size(4) is rounded up to 8.