Linux: bpf: Mark faultable stack helpers as sleepable
What fixes it
- 44b8d370f2725bad215da3e67668e98ba96671bdLinuxCVE List
- 3014e8a8bdad55075d89836ad9c10710a9a69837LinuxCVE List
- 19e8d5a98afd071d8c1c5adeccf92b3c42eddc70LinuxCVE List
- 9d02927fdf4e930893c92e35fed01a2704496900LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Mark faultable stack helpers as sleepable
The faultable variants of bpf_get_stack() and bpf_get_task_stack() pass may_fault=true into the common stack collection code. Resolving user-space build IDs may then call build_id_parse_file() and block on filesystem reads.
Neither helper prototype sets might_sleep. Since prototype selection uses the sleepability of the whole program, the verifier can still allow these helpers from a non-sleepable region within that program, such as an explicit RCU or preemption-disabled region. The task-stack helper can also be called from a non-sleepable timer callback of a sleepable program.
Mark both faultable prototypes as sleepable. The existing helper context check then rejects these calls while continuing to allow them in genuinely sleepable contexts.
Text from CVE List
Affected versions 10
- Linuxaffected: d4dd9775ec242425576af93daadb80a34083a53c before 44b8d370f2725bad215da3e67668e98ba96671bdCVE List
- Linuxaffected: d4dd9775ec242425576af93daadb80a34083a53c before 3014e8a8bdad55075d89836ad9c10710a9a69837CVE List
- Linuxaffected: d4dd9775ec242425576af93daadb80a34083a53c before 19e8d5a98afd071d8c1c5adeccf92b3c42eddc70CVE List
- Linuxaffected: d4dd9775ec242425576af93daadb80a34083a53c before 9d02927fdf4e930893c92e35fed01a2704496900CVE List
- Linuxaffected: 6.12CVE List
- Linuxunaffected: all versions before 6.12CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 4
- git.kernel.org/stable/c/44b8d370f2725bad215da3e67668e98ba96671bdReferencevia CVE List
- git.kernel.org/stable/c/3014e8a8bdad55075d89836ad9c10710a9a69837Referencevia CVE List
- git.kernel.org/stable/c/19e8d5a98afd071d8c1c5adeccf92b3c42eddc70Referencevia CVE List
- git.kernel.org/stable/c/9d02927fdf4e930893c92e35fed01a2704496900Referencevia CVE List