CVE-2022-48975

EUVD-2022-53854
In the Linux kernel, the following vulnerability has been resolved:

gpiolib: fix memory leak in gpiochip_setup_dev()

Here is a backtrace report about memory leak detected in
gpiochip_setup_dev():

unreferenced object 0xffff88810b406400 (size 512):
  comm "python3", pid 1682, jiffies 4295346908 (age 24.090s)
  backtrace:
    kmalloc_trace
    device_add		device_private_init at drivers/base/core.c:3361
			(inlined by) device_add at drivers/base/core.c:3411
    cdev_device_add
    gpiolib_cdev_register
    gpiochip_setup_dev
    gpiochip_add_data_with_key

gcdev_register() & gcdev_unregister() would call device_add() &
device_del() (no matter CONFIG_GPIO_CDEV is enabled or not) to
register/unregister device.

However, if device_add() succeeds, some resource (like
struct device_private allocated by device_private_init())
is not released by device_del().

Therefore, after device_add() succeeds by gcdev_register(), it
needs to call put_device() to release resource in the error handle
path.

Here we move forward the register of release function, and let it
release every piece of resource by put_device() instead of kfree().

While at it, fix another subtle issue, i.e. when gc->ngpio is equal
to 0, we still call kcalloc() and, in case of further error, kfree()
on the ZERO_PTR pointer, which is not NULL. It's not a bug per se,
but rather waste of the resources and potentially wrong expectation
about contents of the gdev->descs variable.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/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
4.6 ≤
𝑥
< 5.15.83
linuxlinux_kernel
5.16 ≤
𝑥
< 6.0.13
linuxlinux_kernel
6.1:rc1
linuxlinux_kernel
6.1:rc2
linuxlinux_kernel
6.1:rc3
linuxlinux_kernel
6.1:rc4
linuxlinux_kernel
6.1:rc5
linuxlinux_kernel
6.1:rc6
linuxlinux_kernel
6.1:rc7
linuxlinux_kernel
6.1:rc8
𝑥
= 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
vulnerable
bullseye (security)
vulnerable
sid
6.11.6-1
fixed
trixie
6.11.5-1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
dlm-kmp-default
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
gfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
kernel-64kb
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
kernel-azure
suse enterprise sap 15 SP5
5.14.21-150500.33.72.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.33.72.1
fixed
kernel-default
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
kernel-default-base
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1.150500.6.39.4
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1.150500.6.39.4
fixed
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1.150400.24.68.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1.150500.6.39.4
fixed
kernel-default-man
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
kernel-docs
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
kernel-macros
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
kernel-obs-build
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
kernel-source
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
kernel-source-azure
suse enterprise sap 15 SP5
5.14.21-150500.33.72.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.33.72.1
fixed
kernel-syms
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
kernel-syms-azure
suse enterprise sap 15 SP5
5.14.21-150500.33.72.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.33.72.1
fixed
kernel-zfcpdump
suse enterprise desktop 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise sap 15 SP5
5.14.21-150500.55.88.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.88.1
fixed
ocfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.250.1
fixed
reiserfs-kmp-default
suse enterprise server 15 SP4
5.14.21-150400.24.141.1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
bpftool
RHEL 9
0:7.2.0-362.8.1.el9_3
fixed
kernel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-abi-stablelists
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-doc
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-kvm
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-kvm
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-tools
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-tools-libs
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-tools-libs-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
libperf
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
perf
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
python3-perf
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
rtla
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
rv
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed