CVE-2023-52447
Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Defer the free of inner map when necessary
When updating or deleting an inner map in map array or map htab, the map may still be accessed by non-sleepable program or sleepable program. However bpf_map_fd_put_ptr() decreases the ref-counter of the inner map directly through bpf_map_put(), if the ref-counter is the last one (which is true for most cases), the inner map will be freed by ops->map_free() in a kworker. But for now, most .map_free() callbacks don't use synchronize_rcu() or its variants to wait for the elapse of a RCU grace period, so after the invocation of ops->map_free completes, the bpf program which is accessing the inner map may incur use-after-free problem.
Fix the free of inner map by invoking bpf_map_free_deferred() after both one RCU grace period and one tasks trace RCU grace period if the inner map has been removed from the outer map before. The deferment is accomplished by using call_rcu() or call_rcu_tasks_trace() when releasing the last ref-counter of bpf map. The newly-added rcu_head field in bpf_map shares the same storage space with work field to reduce the size of bpf_map.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
110- osv-coords107 versionspkg:deb/ubuntu/linux-aws@6.5.0-1021.21?arch=source&distro=manticpkg:deb/ubuntu/linux-laptop@6.5.0-1017.20?arch=source&distro=manticpkg:deb/ubuntu/linux-oem-6.5pkg:deb/ubuntu/linux-oracle@6.5.0-1024.24?arch=source&distro=manticpkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-debug&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%20Micro%205.3pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%20Micro%205.4pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%20Micro%205.3pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%20Micro%205.4pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-rt_debug&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%20Micro%205.3pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%20Micro%205.4pkg:rpm/opensuse/kernel-source-azure&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-source-rt&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-syms-azure&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-syms-rt&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2015.5pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP5pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-default-base&distro=SUSE%20Manager%20Proxy%204.3pkg:rpm/suse/kernel-default-base&distro=SUSE%20Manager%20Server%204.3pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Manager%20Proxy%204.3pkg:rpm/suse/kernel-default&distro=SUSE%20Manager%20Server%204.3pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-livepatch-SLE15-SP4-RT_Update_19&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP4pkg:rpm/suse/kernel-livepatch-SLE15-SP4_Update_24&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP4pkg:rpm/suse/kernel-livepatch-SLE15-SP4_Update_25&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP4pkg:rpm/suse/kernel-livepatch-SLE15-SP5-RT_Update_11&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-livepatch-SLE15-SP5-RT_Update_13&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-livepatch-SLE15-SP5_Update_11&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-livepatch-SLE15-SP5_Update_12&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-rt_debug&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-source&distro=SUSE%20Manager%20Proxy%204.3pkg:rpm/suse/kernel-source&distro=SUSE%20Manager%20Server%204.3pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP5pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/kernel-syms&distro=SUSE%20Manager%20Proxy%204.3pkg:rpm/suse/kernel-syms&distro=SUSE%20Manager%20Server%204.3pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Manager%20Server%204.3
< 6.5.0-1021.21+ 106 more
- (no CPE)range: < 6.5.0-1021.21
- (no CPE)range: < 6.5.0-1017.20
- (no CPE)range: < 6.5.0-1022.23
- (no CPE)range: < 6.5.0-1024.24
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.33.37.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1.150500.6.23.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150400.15.71.1
- (no CPE)range: < 5.14.21-150400.15.71.1
- (no CPE)range: < 5.14.21-150500.33.37.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.33.37.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.33.37.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1.150500.6.23.1
- (no CPE)range: < 5.14.21-150500.55.52.1.150500.6.23.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2.150400.24.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 1-150400.1.3.1
- (no CPE)range: < 1-150400.9.3.1
- (no CPE)range: < 1-150400.9.5.1
- (no CPE)range: < 1-150500.11.3.1
- (no CPE)range: < 1-150500.11.3.1
- (no CPE)range: < 1-150500.11.3.1
- (no CPE)range: < 1-150500.11.7.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150400.15.71.1
- (no CPE)range: < 5.14.21-150400.15.71.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.33.37.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.15.71.1
- (no CPE)range: < 5.14.21-150400.15.71.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.33.37.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150400.24.111.1
- (no CPE)range: < 5.14.21-150500.13.38.1
- (no CPE)range: < 5.14.21-150500.55.52.1
- (no CPE)range: < 5.14.21-150400.24.111.2
- (no CPE)range: < 5.14.21-150400.24.111.2
Patches
Vulnerability mechanics
References
8- git.kernel.org/stable/c/37d98fb9c3144c0fddf7f6e99aece9927ac8dce6nvdPatch
- git.kernel.org/stable/c/62fca83303d608ad4fec3f7428c8685680bb01b0nvdPatch
- git.kernel.org/stable/c/876673364161da50eed6b472d746ef88242b2368nvdPatch
- git.kernel.org/stable/c/90c445799fd1dc214d7c6279c144e33a35e29ef2nvdPatch
- git.kernel.org/stable/c/bfd9b20c4862f41d4590fde11d70a5eeae53dcc5nvdPatch
- git.kernel.org/stable/c/f91cd728b10c51f6d4a39957ccd56d1e802fc8eenvdPatch
- cert-portal.siemens.com/productcert/html/ssa-265688.htmlnvd
- lists.debian.org/debian-lts-announce/2024/06/msg00017.htmlnvd
News mentions
0No linked articles in our index yet.