Bug 2324877 (CVE-2024-50212) - CVE-2024-50212 kernel: lib: alloc_tag_module_unload must wait for pending kfree_rcu calls
Summary: CVE-2024-50212 kernel: lib: alloc_tag_module_unload must wait for pending kfr...
Keywords:
Status: NEW
Alias: CVE-2024-50212
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2325098
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-11-09 11:02 UTC by OSIDB Bzimport
Modified: 2024-11-21 18:58 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-11-09 11:02:47 UTC
In the Linux kernel, the following vulnerability has been resolved:

lib: alloc_tag_module_unload must wait for pending kfree_rcu calls

Ben Greear reports following splat:
 ------------[ cut here ]------------
 net/netfilter/nf_nat_core.c:1114 module nf_nat func:nf_nat_register_fn has 256 allocated at module unload
 WARNING: CPU: 1 PID: 10421 at lib/alloc_tag.c:168 alloc_tag_module_unload+0x22b/0x3f0
 Modules linked in: nf_nat(-) btrfs ufs qnx4 hfsplus hfs minix vfat msdos fat
...
 Hardware name: Default string Default string/SKYBAY, BIOS 5.12 08/04/2020
 RIP: 0010:alloc_tag_module_unload+0x22b/0x3f0
  codetag_unload_module+0x19b/0x2a0
  ? codetag_load_module+0x80/0x80

nf_nat module exit calls kfree_rcu on those addresses, but the free
operation is likely still pending by the time alloc_tag checks for leaks.

Wait for outstanding kfree_rcu operations to complete before checking
resolves this warning.

Reproducer:
unshare -n iptables-nft -t nat -A PREROUTING -p tcp
grep nf_nat /proc/allocinfo # will list 4 allocations
rmmod nft_chain_nat
rmmod nf_nat                # will WARN.

[akpm: add comment]

Comment 1 Avinash Hanwate 2024-11-11 05:37:53 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2024110921-CVE-2024-50212-74b8@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.