CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's BPF (Berkeley Packet Filter) subsystem, specifically in the `bpf_get_fsverity_digest()` function, which can crash if the `arg->digest_size` is modified concurrently. This issue compromises the memory safety of kernel functions, potentially leading to system instability. Linux system administrators and developers utilizing BPF should prioritize this fix to ensure the stability and security of their systems against potential crashes.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: fsverity: Fix bpf_get_fsverity_digest() dynptr assumptions The BPF verifier and the dynptr abstraction ensure that the memory space referenced by a dynptr remains valid. They do not, however, provide any guarantee that the contents of the memory are stable. kfuncs are expected to remain memory-safe even if concurrent modifications occur. bpf_get_fsverity_digest() didn't follow that: it could crash if arg->digest_size was concurrently modified. Fix that by using the known-good value hash_alg->digest_size instead. Also widen 'dynptr_sz' and 'out_digest_sz' to u64 to match the return type of __bpf_dynptr_size(). It doesn't appear that it can actually be more than INT_MAX currently (since __bpf_dynptr_data_rw() excludes file-based pointers), but the correct type might as well be used.