Nixpkgs security tracker

Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

Suggestion detail

Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf,fork: wipe ->bpf_storage before bailouts that access it

In the Linux kernel, the following vulnerability has been resolved: bpf,fork: wipe ->bpf_storage before bailouts that access it Currently, copy_process() can bail out to free_task() before p->bpf_storage has been initialized, with this call graph (shown here for the !CONFIG_MEMCG case): copy_process dup_task_struct arch_dup_task_struct [copies the entire task_struct, including ->bpf_storage member] [RLIMIT_NPROC check fails] delayed_free_task free_task bpf_task_storage_free rcu_dereference(task->bpf_storage) bpf_local_storage_destroy In this case, the nascent task's ->bpf_storage member that bpf_local_storage_destroy() operates on is a plain copy of the parent's ->bpf_storage pointer, not a real initialized pointer. This leads to badness (kernel hangs, UAF). This is reachable as long as the process calling fork() has been inserted into a task storage map.

Affected products

Linux
  • <c3fd6f28c7ce1142a3b23dbb840eaa4777de1d74
  • <9cff220ddb65b022cc668bb652200742476e744c
  • <9b51a6155d14389876916726430da30eabb1d4ed
  • =<6.6.*
  • =<*
  • ==5.13
  • <43f0005f81b8ce3be962d653cde8db9022f1e9b0
  • =<6.12.*
  • =<6.18.*
  • =<7.1.*
  • <5.13
  • <c4f626ddf2350652ad2f79daf1f10847f3f6eabd