bpf: Mark sched_process_wait argument as nullable
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.111, 6.18.53, 7.2.7
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf: Mark sched_process_wait argument as nullable do_wait() passes wo->wo_pid to the sched_process_wait tracepoint. kernel_wait4() leaves wo_pid NULL for wait4(-1), and kernel_waitid_prepare() does likewise for waitid(P_ALL). btf_ctx_access() currently types argument 0 as PTR_TO_BTF_ID | PTR_TRUSTED. Without PTR_MAYBE_NULL, the verifier accepts an unchecked dereference. Trusted pointer loads have no fault protection, so a wait for any child can then cause a NULL pointer dereference in JITed BPF code. Add sched_process_wait to raw_tp_null_args[] with argument 0 marked nullable. The verifier rejects an unchecked dereference while preserving access after the program checks the pointer for NULL.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From b2fc4b17fc13810ef440fb323fad3981cd174985 · fixed in bee862c79cb7e0e5c33b2df2e3a31d164705120d; From 838a10bd2ebfe11a60dd67687533a7cfc220cc86 · fixed in 3c03a1b8ded858685a73c1ba4080adef99db4544; From 838a10bd2ebfe11a60dd67687533a7cfc220cc86 · fixed in b9205e936dde9a94e93376c8de6195b740bcd5d2; From 838a10bd2ebfe11a60dd67687533a7cfc220cc86 · fixed in a453d6e3b8e8e1a321c8744d6189d763af9287d0; From 6.12.6 · fixed in 6.12.111
- Linux Linux
6.13
- KernelLinux
fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; fixed in 7.2.7