CVE-2022-49755

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

usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait

While performing fast composition switch, there is a possibility that the
process of ffs_ep0_write/ffs_ep0_read get into a race condition
due to ep0req being freed up from functionfs_unbind.

Consider the scenario that the ffs_ep0_write calls the ffs_ep0_queue_wait
by taking a lock &ffs->ev.waitq.lock. However, the functionfs_unbind isn't
bounded so it can go ahead and mark the ep0req to NULL, and since there
is no NULL check in ffs_ep0_queue_wait we will end up in use-after-free.

Fix this by making a serialized execution between the two functions using
a mutex_lock(ffs->mutex).
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTNIST
7.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
LinuxCNA
---
---
CISA-ADPADP
7.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 1%
VendorProductVersion
linuxlinux_kernel
2.6.35 ≤
𝑥
< 4.14.305
linuxlinux_kernel
4.15 ≤
𝑥
< 4.19.272
linuxlinux_kernel
4.20 ≤
𝑥
< 5.4.231
linuxlinux_kernel
5.5 ≤
𝑥
< 5.10.166
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.91
linuxlinux_kernel
5.16 ≤
𝑥
< 6.1.9
linuxlinux_kernel
6.2:rc1
linuxlinux_kernel
6.2:rc2
linuxlinux_kernel
6.2:rc3
linuxlinux_kernel
6.2:rc4
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.234-1
fixed
bookworm
6.1.129-1
fixed
bookworm (security)
6.1.128-1
fixed
trixie
6.12.19-1
fixed
sid
6.12.20-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
linux
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
xenial
needs-triage
trusty
needs-triage
linux-allwinner-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-aws
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
xenial
needs-triage
trusty
needs-triage
linux-aws-5.0
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-aws-5.11
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-aws-5.13
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-aws-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-aws-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-aws-5.3
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-aws-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-aws-5.8
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-aws-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-aws-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-aws-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-aws-fips
oracular
dne
noble
dne
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
linux-aws-hwe
oracular
dne
noble
dne
jammy
dne
focal
dne
xenial
needs-triage
linux-azure
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
needs-triage
bionic
ignored
xenial
needs-triage
trusty
needs-triage
linux-azure-4.15
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-azure-5.11
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-azure-5.13
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-azure-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-azure-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-azure-5.3
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-azure-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-azure-5.8
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-azure-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-azure-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-azure-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-azure-edge
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-azure-fde
oracular
dne
noble
dne
jammy
needs-triage
focal
ignored
linux-azure-fde-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-azure-fde-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-azure-fde-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-azure-fips
oracular
dne
noble
dne
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
linux-bluefield
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-fips
oracular
dne
noble
dne
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
xenial
needs-triage
linux-gcp
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
needs-triage
bionic
ignored
xenial
needs-triage
linux-gcp-4.15
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-gcp-5.11
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-gcp-5.13
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-gcp-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-gcp-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-gcp-5.3
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gcp-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-gcp-5.8
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-gcp-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-gcp-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-gcp-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-gcp-fips
oracular
dne
noble
dne
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
linux-gke
oracular
dne
noble
needs-triage
jammy
needs-triage
focal
ignored
linux-gke-4.15
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gke-5.15
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-gke-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-gkeop
oracular
dne
noble
needs-triage
jammy
needs-triage
focal
ignored
linux-gkeop-5.15
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-gkeop-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-hwe
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
xenial
needs-triage
linux-hwe-5.11
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-hwe-5.13
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-hwe-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-hwe-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-hwe-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-hwe-5.8
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-hwe-6.11
oracular
dne
noble
needs-triage
jammy
dne
focal
dne
linux-hwe-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-hwe-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-hwe-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-hwe-edge
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
xenial
ignored
linux-ibm
oracular
dne
noble
needs-triage
jammy
needs-triage
focal
needs-triage
linux-ibm-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-ibm-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-intel-5.13
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-intel-iot-realtime
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-intel-iotg
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-intel-iotg-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-iot
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-kvm
oracular
dne
noble
dne
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
xenial
needs-triage
linux-lowlatency
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
dne
linux-lowlatency-hwe-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-lowlatency-hwe-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.11
oracular
dne
noble
needs-triage
jammy
dne
focal
dne
linux-lowlatency-hwe-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-lowlatency-hwe-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-lts-xenial
oracular
dne
noble
dne
jammy
dne
focal
dne
trusty
needs-triage
linux-nvidia
oracular
dne
noble
needs-triage
jammy
needs-triage
focal
dne
linux-nvidia-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-nvidia-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-nvidia-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-nvidia-lowlatency
oracular
dne
noble
needs-triage
jammy
dne
focal
dne
linux-nvidia-tegra
oracular
dne
noble
needs-triage
jammy
needs-triage
focal
dne
linux-nvidia-tegra-igx
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-oem
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oem-5.10
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-oem-5.13
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-oem-5.14
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-oem-5.17
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-oem-5.6
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-oem-6.0
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-oem-6.1
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-oem-6.11
oracular
dne
noble
needs-triage
jammy
dne
focal
dne
linux-oem-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-oem-6.8
oracular
dne
noble
needs-triage
jammy
dne
focal
dne
linux-oracle
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
needs-triage
bionic
needs-triage
xenial
needs-triage
linux-oracle-5.0
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oracle-5.11
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-oracle-5.13
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-oracle-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-oracle-5.3
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
ignored
linux-oracle-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-oracle-5.8
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-oracle-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-oracle-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-raspi
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
needs-triage
linux-raspi-5.4
oracular
dne
noble
dne
jammy
dne
focal
dne
bionic
needs-triage
linux-raspi-realtime
oracular
dne
noble
needs-triage
jammy
dne
focal
dne
linux-raspi2
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-realtime
oracular
needs-triage
noble
needs-triage
jammy
needs-triage
focal
dne
linux-riscv
oracular
needs-triage
noble
needs-triage
jammy
ignored
focal
ignored
linux-riscv-5.11
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-riscv-5.15
oracular
dne
noble
dne
jammy
dne
focal
needs-triage
linux-riscv-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-riscv-5.8
oracular
dne
noble
dne
jammy
dne
focal
ignored
linux-riscv-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-riscv-6.8
oracular
dne
noble
dne
jammy
needs-triage
focal
dne
linux-starfive-5.19
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-starfive-6.2
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-starfive-6.5
oracular
dne
noble
dne
jammy
ignored
focal
dne
linux-xilinx-zynqmp
oracular
dne
noble
dne
jammy
needs-triage
focal
needs-triage