CVE-2022-48869

EUVD-2022-53748
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
NISTPrimary
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
Base Score
CVSS 3.x
EPSS Score
Percentile: 3%
Affected Products (NVD)
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
bookworm
6.1.106-3
fixed
bookworm (security)
6.1.112-1
fixed
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.226-1
fixed
sid
6.11.5-1
fixed
trixie
6.11.5-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
linux
bionic
not-affected
focal
Fixed 5.4.0-146.163
released
jammy
Fixed 5.15.0-69.76
released
noble
not-affected
trusty
not-affected
xenial
not-affected
linux-allwinner-5.19
focal
dne
jammy
ignored
noble
dne
linux-aws
bionic
not-affected
focal
Fixed 5.4.0-1099.107
released
jammy
Fixed 5.15.0-1033.37
released
noble
not-affected
trusty
not-affected
xenial
not-affected
linux-aws-5.0
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-aws-5.11
focal
ignored
jammy
dne
noble
dne
linux-aws-5.13
focal
ignored
jammy
dne
noble
dne
linux-aws-5.15
focal
Fixed 5.15.0-1033.37~20.04.1
released
jammy
dne
noble
dne
linux-aws-5.19
focal
dne
jammy
ignored
noble
dne
linux-aws-5.3
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-aws-5.4
bionic
pending
focal
dne
jammy
dne
noble
dne
linux-aws-5.8
focal
ignored
jammy
dne
noble
dne
linux-aws-6.2
focal
dne
jammy
ignored
noble
dne
linux-aws-6.5
focal
dne
jammy
ignored
noble
dne
linux-aws-fips
focal
dne
jammy
dne
noble
dne
linux-aws-hwe
focal
dne
jammy
dne
noble
dne
xenial
not-affected
linux-azure
bionic
ignored
focal
Fixed 5.4.0-1105.111
released
jammy
Fixed 5.15.0-1035.42
released
noble
not-affected
trusty
not-affected
xenial
not-affected
linux-azure-4.15
bionic
not-affected
focal
dne
jammy
dne
noble
dne
linux-azure-5.11
focal
ignored
jammy
dne
noble
dne
linux-azure-5.13
focal
ignored
jammy
dne
noble
dne
linux-azure-5.15
focal
Fixed 5.15.0-1035.42~20.04.1
released
jammy
dne
noble
dne
linux-azure-5.19
focal
dne
jammy
ignored
noble
dne
linux-azure-5.3
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-azure-5.4
bionic
pending
focal
dne
jammy
dne
noble
dne
linux-azure-5.8
focal
ignored
jammy
dne
noble
dne
linux-azure-6.2
focal
dne
jammy
ignored
noble
dne
linux-azure-6.5
focal
dne
jammy
ignored
noble
dne
linux-azure-edge
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-azure-fde
focal
ignored
jammy
Fixed 5.15.0-1035.42.1
released
noble
dne
linux-azure-fde-5.15
focal
Fixed 5.15.0-1035.42~20.04.1.1
released
jammy
dne
noble
dne
linux-azure-fde-5.19
focal
dne
jammy
ignored
noble
dne
linux-azure-fde-6.2
focal
dne
jammy
ignored
noble
dne
linux-azure-fips
focal
dne
jammy
dne
noble
dne
linux-bluefield
focal
Fixed 5.4.0-1060.66
released
jammy
dne
noble
dne
linux-fips
focal
dne
jammy
dne
noble
dne
linux-gcp
bionic
ignored
focal
Fixed 5.4.0-1102.111
released
jammy
Fixed 5.15.0-1031.38
released
noble
not-affected
xenial
not-affected
linux-gcp-4.15
bionic
not-affected
focal
dne
jammy
dne
noble
dne
linux-gcp-5.11
focal
ignored
jammy
dne
noble
dne
linux-gcp-5.13
focal
ignored
jammy
dne
noble
dne
linux-gcp-5.15
focal
Fixed 5.15.0-1031.38~20.04.1
released
jammy
dne
noble
dne
linux-gcp-5.19
focal
dne
jammy
ignored
noble
dne
linux-gcp-5.3
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-gcp-5.4
bionic
pending
focal
dne
jammy
dne
noble
dne
linux-gcp-5.8
focal
ignored
jammy
dne
noble
dne
linux-gcp-6.2
focal
dne
jammy
ignored
noble
dne
linux-gcp-6.5
focal
dne
jammy
ignored
noble
dne
linux-gcp-fips
focal
dne
jammy
dne
noble
dne
linux-gke
focal
ignored
jammy
Fixed 5.15.0-1030.35
released
noble
not-affected
linux-gke-4.15
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-gke-5.15
focal
ignored
jammy
dne
noble
dne
linux-gke-5.4
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-gkeop
focal
Fixed 5.4.0-1066.70
released
jammy
Fixed 5.15.0-1017.22
released
noble
dne
linux-gkeop-5.15
focal
Fixed 5.15.0-1017.22~20.04.1
released
jammy
dne
noble
dne
linux-gkeop-5.4
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-hwe
bionic
ignored
focal
dne
jammy
dne
noble
dne
xenial
not-affected
linux-hwe-5.11
focal
ignored
jammy
dne
noble
dne
linux-hwe-5.13
focal
ignored
jammy
dne
noble
dne
linux-hwe-5.15
focal
Fixed 5.15.0-69.76~20.04.1
released
jammy
dne
noble
dne
linux-hwe-5.19
focal
dne
jammy
ignored
noble
dne
linux-hwe-5.4
bionic
pending
focal
dne
jammy
dne
noble
dne
linux-hwe-5.8
focal
ignored
jammy
dne
noble
dne
linux-hwe-6.2
focal
dne
jammy
ignored
noble
dne
linux-hwe-6.5
focal
dne
jammy
ignored
noble
dne
linux-hwe-6.8
focal
dne
jammy
not-affected
noble
dne
linux-hwe-edge
bionic
ignored
focal
dne
jammy
dne
noble
dne
xenial
ignored
linux-ibm
focal
Fixed 5.4.0-1046.51
released
jammy
Fixed 5.15.0-1027.30
released
noble
not-affected
linux-ibm-5.15
focal
not-affected
jammy
dne
noble
dne
linux-ibm-5.4
bionic
pending
focal
dne
jammy
dne
noble
dne
linux-intel
bionic
dne
focal
dne
jammy
dne
noble
not-affected
trusty
dne
xenial
dne
linux-intel-5.13
focal
ignored
jammy
dne
noble
dne
linux-intel-iot-realtime
bionic
dne
focal
dne
jammy
dne
noble
dne
trusty
dne
xenial
dne
linux-intel-iotg
focal
dne
jammy
Fixed 5.15.0-1027.32
released
noble
dne
linux-intel-iotg-5.15
focal
Fixed 5.15.0-1027.32~20.04.1
released
jammy
dne
noble
dne
linux-iot
focal
Fixed 5.4.0-1013.15
released
jammy
dne
noble
dne
linux-kvm
bionic
not-affected
focal
Fixed 5.4.0-1088.94
released
jammy
Fixed 5.15.0-1030.35
released
noble
dne
xenial
not-affected
linux-lowlatency
focal
dne
jammy
Fixed 5.15.0-69.76
released
noble
not-affected
linux-lowlatency-hwe-5.15
focal
Fixed 5.15.0-69.76~20.04.1
released
jammy
dne
noble
dne
linux-lowlatency-hwe-5.19
focal
dne
jammy
ignored
noble
dne
linux-lowlatency-hwe-6.2
focal
dne
jammy
ignored
noble
dne
linux-lowlatency-hwe-6.5
focal
dne
jammy
ignored
noble
dne
linux-lowlatency-hwe-6.8
focal
dne
jammy
not-affected
noble
dne
linux-lts-xenial
focal
dne
jammy
dne
noble
dne
trusty
not-affected
linux-nvidia
focal
dne
jammy
Fixed 5.15.0-1023.23
released
noble
not-affected
linux-nvidia-6.2
focal
dne
jammy
ignored
noble
dne
linux-nvidia-6.5
focal
dne
jammy
not-affected
noble
dne
linux-nvidia-6.8
focal
dne
jammy
not-affected
noble
dne
linux-nvidia-lowlatency
focal
dne
jammy
dne
noble
not-affected
linux-oem
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-oem-5.10
focal
ignored
jammy
dne
noble
dne
linux-oem-5.13
focal
ignored
jammy
dne
noble
dne
linux-oem-5.14
focal
ignored
jammy
dne
noble
dne
linux-oem-5.17
focal
dne
jammy
ignored
noble
dne
linux-oem-5.6
focal
ignored
jammy
dne
noble
dne
linux-oem-6.0
focal
dne
jammy
ignored
noble
dne
linux-oem-6.1
focal
dne
jammy
ignored
noble
dne
linux-oem-6.5
focal
dne
jammy
ignored
noble
dne
linux-oem-6.8
focal
dne
jammy
dne
noble
not-affected
linux-oracle
bionic
not-affected
focal
Fixed 5.4.0-1098.107
released
jammy
Fixed 5.15.0-1032.38
released
noble
not-affected
xenial
not-affected
linux-oracle-5.0
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-oracle-5.11
focal
ignored
jammy
dne
noble
dne
linux-oracle-5.13
focal
ignored
jammy
dne
noble
dne
linux-oracle-5.15
focal
Fixed 5.15.0-1032.38~20.04.1
released
jammy
dne
noble
dne
linux-oracle-5.3
bionic
ignored
focal
dne
jammy
dne
noble
dne
linux-oracle-5.4
bionic
pending
focal
dne
jammy
dne
noble
dne
linux-oracle-5.8
focal
ignored
jammy
dne
noble
dne
linux-oracle-6.5
focal
dne
jammy
ignored
noble
dne
linux-raspi
focal
Fixed 5.4.0-1082.93
released
jammy
Fixed 5.15.0-1026.28
released
noble
not-affected
linux-raspi-5.4
bionic
pending
focal
dne
jammy
dne
noble
dne
linux-raspi-realtime
bionic
dne
focal
dne
jammy
dne
noble
dne
trusty
dne
xenial
dne
linux-raspi2
focal
ignored
jammy
dne
noble
dne
linux-realtime
bionic
dne
focal
dne
jammy
ignored
noble
dne
trusty
dne
xenial
dne
linux-riscv
focal
ignored
jammy
ignored
noble
not-affected
linux-riscv-5.11
focal
ignored
jammy
dne
noble
dne
linux-riscv-5.15
focal
Fixed 5.15.0-1030.34~20.04.1
released
jammy
dne
noble
dne
linux-riscv-5.19
focal
dne
jammy
ignored
noble
dne
linux-riscv-5.8
focal
ignored
jammy
dne
noble
dne
linux-riscv-6.5
focal
dne
jammy
ignored
noble
dne
linux-riscv-6.8
focal
dne
jammy
not-affected
noble
dne
linux-starfive-5.19
focal
dne
jammy
ignored
noble
dne
linux-starfive-6.2
focal
dne
jammy
ignored
noble
dne
linux-starfive-6.5
focal
dne
jammy
ignored
noble
dne
linux-xilinx-zynqmp
focal
Fixed 5.4.0-1023.27
released
jammy
not-affected
noble
dne