CVE-2022-48869

In the Linux kernel, the following vulnerability has been resolved:

USB: gadgetfs: Fix race between mounting and unmounting

The syzbot fuzzer and Gerald Lee have identified a use-after-free bug
in the gadgetfs driver, involving processes concurrently mounting and
unmounting the gadgetfs filesystem.  In particular, gadgetfs_fill_super()
can race with gadgetfs_kill_sb(), causing the latter to deallocate
the_device while the former is using it.  The output from KASAN says,
in part:

BUG: KASAN: use-after-free in instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
BUG: KASAN: use-after-free in atomic_fetch_sub_release include/linux/atomic/atomic-instrumented.h:176 [inline]
BUG: KASAN: use-after-free in __refcount_sub_and_test include/linux/refcount.h:272 [inline]
BUG: KASAN: use-after-free in __refcount_dec_and_test include/linux/refcount.h:315 [inline]
BUG: KASAN: use-after-free in refcount_dec_and_test include/linux/refcount.h:333 [inline]
BUG: KASAN: use-after-free in put_dev drivers/usb/gadget/legacy/inode.c:159 [inline]
BUG: KASAN: use-after-free in gadgetfs_kill_sb+0x33/0x100 drivers/usb/gadget/legacy/inode.c:2086
Write of size 4 at addr ffff8880276d7840 by task syz-executor126/18689

CPU: 0 PID: 18689 Comm: syz-executor126 Not tainted 6.1.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
Call Trace:
 <TASK>
...
 atomic_fetch_sub_release include/linux/atomic/atomic-instrumented.h:176 [inline]
 __refcount_sub_and_test include/linux/refcount.h:272 [inline]
 __refcount_dec_and_test include/linux/refcount.h:315 [inline]
 refcount_dec_and_test include/linux/refcount.h:333 [inline]
 put_dev drivers/usb/gadget/legacy/inode.c:159 [inline]
 gadgetfs_kill_sb+0x33/0x100 drivers/usb/gadget/legacy/inode.c:2086
 deactivate_locked_super+0xa7/0xf0 fs/super.c:332
 vfs_get_super fs/super.c:1190 [inline]
 get_tree_single+0xd0/0x160 fs/super.c:1207
 vfs_get_tree+0x88/0x270 fs/super.c:1531
 vfs_fsconfig_locked fs/fsopen.c:232 [inline]

The simplest solution is to ensure that gadgetfs_fill_super() and
gadgetfs_kill_sb() are serialized by making them both acquire a new
mutex.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTNIST
4.7 MEDIUM
LOCAL
HIGH
LOW
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
LinuxCNA
---
---
CISA-ADPADP
---
---
Base Score
CVSS 3.x
EPSS Score
Percentile: 8%
VendorProductVersion
linuxlinux_kernel
5.3 ≤
𝑥
< 5.4.230
linuxlinux_kernel
5.5 ≤
𝑥
< 5.10.165
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.90
linuxlinux_kernel
5.16 ≤
𝑥
< 6.1.8
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.226-1
fixed
bookworm
6.1.106-3
fixed
bookworm (security)
6.1.112-1
fixed
sid
6.11.5-1
fixed
trixie
6.11.5-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
linux
noble
not-affected
jammy
Fixed 5.15.0-69.76
released
focal
Fixed 5.4.0-146.163
released
bionic
not-affected
xenial
not-affected
trusty
not-affected
linux-allwinner-5.19
noble
dne
jammy
ignored
focal
dne
linux-aws
noble
not-affected
jammy
Fixed 5.15.0-1033.37
released
focal
Fixed 5.4.0-1099.107
released
bionic
not-affected
xenial
not-affected
trusty
not-affected
linux-aws-5.0
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-aws-5.11
noble
dne
jammy
dne
focal
ignored
linux-aws-5.13
noble
dne
jammy
dne
focal
ignored
linux-aws-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1033.37~20.04.1
released
linux-aws-5.19
noble
dne
jammy
ignored
focal
dne
linux-aws-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-aws-5.4
noble
dne
jammy
dne
focal
dne
bionic
pending
linux-aws-5.8
noble
dne
jammy
dne
focal
ignored
linux-aws-6.2
noble
dne
jammy
ignored
focal
dne
linux-aws-6.5
noble
dne
jammy
ignored
focal
dne
linux-aws-fips
noble
dne
jammy
dne
focal
dne
linux-aws-hwe
noble
dne
jammy
dne
focal
dne
xenial
not-affected
linux-azure
noble
not-affected
jammy
Fixed 5.15.0-1035.42
released
focal
Fixed 5.4.0-1105.111
released
bionic
ignored
xenial
not-affected
trusty
not-affected
linux-azure-4.15
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-azure-5.11
noble
dne
jammy
dne
focal
ignored
linux-azure-5.13
noble
dne
jammy
dne
focal
ignored
linux-azure-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1035.42~20.04.1
released
linux-azure-5.19
noble
dne
jammy
ignored
focal
dne
linux-azure-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-azure-5.4
noble
dne
jammy
dne
focal
dne
bionic
pending
linux-azure-5.8
noble
dne
jammy
dne
focal
ignored
linux-azure-6.2
noble
dne
jammy
ignored
focal
dne
linux-azure-6.5
noble
dne
jammy
ignored
focal
dne
linux-azure-edge
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-azure-fde
noble
dne
jammy
Fixed 5.15.0-1035.42.1
released
focal
ignored
linux-azure-fde-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1035.42~20.04.1.1
released
linux-azure-fde-5.19
noble
dne
jammy
ignored
focal
dne
linux-azure-fde-6.2
noble
dne
jammy
ignored
focal
dne
linux-azure-fips
noble
dne
jammy
dne
focal
dne
linux-bluefield
noble
dne
jammy
dne
focal
Fixed 5.4.0-1060.66
released
linux-fips
noble
dne
jammy
dne
focal
dne
linux-gcp
noble
not-affected
jammy
Fixed 5.15.0-1031.38
released
focal
Fixed 5.4.0-1102.111
released
bionic
ignored
xenial
not-affected
linux-gcp-4.15
noble
dne
jammy
dne
focal
dne
bionic
not-affected
linux-gcp-5.11
noble
dne
jammy
dne
focal
ignored
linux-gcp-5.13
noble
dne
jammy
dne
focal
ignored
linux-gcp-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1031.38~20.04.1
released
linux-gcp-5.19
noble
dne
jammy
ignored
focal
dne
linux-gcp-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gcp-5.4
noble
dne
jammy
dne
focal
dne
bionic
pending
linux-gcp-5.8
noble
dne
jammy
dne
focal
ignored
linux-gcp-6.2
noble
dne
jammy
ignored
focal
dne
linux-gcp-6.5
noble
dne
jammy
ignored
focal
dne
linux-gcp-fips
noble
dne
jammy
dne
focal
dne
linux-gke
noble
not-affected
jammy
Fixed 5.15.0-1030.35
released
focal
ignored
linux-gke-4.15
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gke-5.15
noble
dne
jammy
dne
focal
ignored
linux-gke-5.4
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gkeop
noble
dne
jammy
Fixed 5.15.0-1017.22
released
focal
Fixed 5.4.0-1066.70
released
linux-gkeop-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1017.22~20.04.1
released
linux-gkeop-5.4
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-hwe
noble
dne
jammy
dne
focal
dne
bionic
ignored
xenial
not-affected
linux-hwe-5.11
noble
dne
jammy
dne
focal
ignored
linux-hwe-5.13
noble
dne
jammy
dne
focal
ignored
linux-hwe-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-69.76~20.04.1
released
linux-hwe-5.19
noble
dne
jammy
ignored
focal
dne
linux-hwe-5.4
noble
dne
jammy
dne
focal
dne
bionic
pending
linux-hwe-5.8
noble
dne
jammy
dne
focal
ignored
linux-hwe-6.2
noble
dne
jammy
ignored
focal
dne
linux-hwe-6.5
noble
dne
jammy
ignored
focal
dne
linux-hwe-6.8
noble
dne
jammy
not-affected
focal
dne
linux-hwe-edge
noble
dne
jammy
dne
focal
dne
bionic
ignored
xenial
ignored
linux-ibm
noble
not-affected
jammy
Fixed 5.15.0-1027.30
released
focal
Fixed 5.4.0-1046.51
released
linux-ibm-5.15
noble
dne
jammy
dne
focal
not-affected
linux-ibm-5.4
noble
dne
jammy
dne
focal
dne
bionic
pending
linux-intel
noble
not-affected
jammy
dne
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-intel-5.13
noble
dne
jammy
dne
focal
ignored
linux-intel-iot-realtime
noble
dne
jammy
dne
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-intel-iotg
noble
dne
jammy
Fixed 5.15.0-1027.32
released
focal
dne
linux-intel-iotg-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1027.32~20.04.1
released
linux-iot
noble
dne
jammy
dne
focal
Fixed 5.4.0-1013.15
released
linux-kvm
noble
dne
jammy
Fixed 5.15.0-1030.35
released
focal
Fixed 5.4.0-1088.94
released
bionic
not-affected
xenial
not-affected
linux-lowlatency
noble
not-affected
jammy
Fixed 5.15.0-69.76
released
focal
dne
linux-lowlatency-hwe-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-69.76~20.04.1
released
linux-lowlatency-hwe-5.19
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.2
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.5
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.8
noble
dne
jammy
not-affected
focal
dne
linux-lts-xenial
noble
dne
jammy
dne
focal
dne
trusty
not-affected
linux-nvidia
noble
not-affected
jammy
Fixed 5.15.0-1023.23
released
focal
dne
linux-nvidia-6.2
noble
dne
jammy
ignored
focal
dne
linux-nvidia-6.5
noble
dne
jammy
not-affected
focal
dne
linux-nvidia-6.8
noble
dne
jammy
not-affected
focal
dne
linux-nvidia-lowlatency
noble
not-affected
jammy
dne
focal
dne
linux-oem
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oem-5.10
noble
dne
jammy
dne
focal
ignored
linux-oem-5.13
noble
dne
jammy
dne
focal
ignored
linux-oem-5.14
noble
dne
jammy
dne
focal
ignored
linux-oem-5.17
noble
dne
jammy
ignored
focal
dne
linux-oem-5.6
noble
dne
jammy
dne
focal
ignored
linux-oem-6.0
noble
dne
jammy
ignored
focal
dne
linux-oem-6.1
noble
dne
jammy
ignored
focal
dne
linux-oem-6.5
noble
dne
jammy
ignored
focal
dne
linux-oem-6.8
noble
not-affected
jammy
dne
focal
dne
linux-oracle
noble
not-affected
jammy
Fixed 5.15.0-1032.38
released
focal
Fixed 5.4.0-1098.107
released
bionic
not-affected
xenial
not-affected
linux-oracle-5.0
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oracle-5.11
noble
dne
jammy
dne
focal
ignored
linux-oracle-5.13
noble
dne
jammy
dne
focal
ignored
linux-oracle-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1032.38~20.04.1
released
linux-oracle-5.3
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oracle-5.4
noble
dne
jammy
dne
focal
dne
bionic
pending
linux-oracle-5.8
noble
dne
jammy
dne
focal
ignored
linux-oracle-6.5
noble
dne
jammy
ignored
focal
dne
linux-raspi
noble
not-affected
jammy
Fixed 5.15.0-1026.28
released
focal
Fixed 5.4.0-1082.93
released
linux-raspi-5.4
noble
dne
jammy
dne
focal
dne
bionic
pending
linux-raspi-realtime
noble
dne
jammy
dne
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-raspi2
noble
dne
jammy
dne
focal
ignored
linux-realtime
noble
dne
jammy
ignored
focal
dne
bionic
dne
xenial
dne
trusty
dne
linux-riscv
noble
not-affected
jammy
ignored
focal
ignored
linux-riscv-5.11
noble
dne
jammy
dne
focal
ignored
linux-riscv-5.15
noble
dne
jammy
dne
focal
Fixed 5.15.0-1030.34~20.04.1
released
linux-riscv-5.19
noble
dne
jammy
ignored
focal
dne
linux-riscv-5.8
noble
dne
jammy
dne
focal
ignored
linux-riscv-6.5
noble
dne
jammy
ignored
focal
dne
linux-riscv-6.8
noble
dne
jammy
not-affected
focal
dne
linux-starfive-5.19
noble
dne
jammy
ignored
focal
dne
linux-starfive-6.2
noble
dne
jammy
ignored
focal
dne
linux-starfive-6.5
noble
dne
jammy
ignored
focal
dne
linux-xilinx-zynqmp
noble
dne
jammy
not-affected
focal
Fixed 5.4.0-1023.27
released