CVE-2022-49086

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

net: openvswitch: fix leak of nested actions

While parsing user-provided actions, openvswitch module may dynamically
allocate memory and store pointers in the internal copy of the actions.
So this memory has to be freed while destroying the actions.

Currently there are only two such actions: ct() and set().  However,
there are many actions that can hold nested lists of actions and
ovs_nla_free_flow_actions() just jumps over them leaking the memory.

For example, removal of the flow with the following actions will lead
to a leak of the memory allocated by nf_ct_tmpl_alloc():

  actions:clone(ct(commit),0)

Non-freed set() action may also leak the 'dst' structure for the
tunnel info including device references.

Under certain conditions with a high rate of flow rotation that may
cause significant memory leak problem (2MB per second in reporter's
case).  The problem is also hard to mitigate, because the user doesn't
have direct control over the datapath flows generated by OVS.

Fix that by iterating over all the nested actions and freeing
everything that needs to be freed recursively.

New build time assertion should protect us from this problem if new
actions will be added in the future.

Unfortunately, openvswitch module doesn't use NLA_F_NESTED, so all
attributes has to be explicitly checked.  sample() and clone() actions
are mixing extra attributes into the user-provided action list.  That
prevents some code generalization too.
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: 1%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
4.3 ≤
𝑥
< 4.19.249
linuxlinux_kernel
4.20 ≤
𝑥
< 5.4.200
linuxlinux_kernel
5.5 ≤
𝑥
< 5.10.111
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.34
linuxlinux_kernel
5.16 ≤
𝑥
< 5.16.20
linuxlinux_kernel
5.17 ≤
𝑥
< 5.17.3
linuxlinux_kernel
5.18:rc1
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.123-1
fixed
bookworm (security)
6.1.128-1
fixed
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.234-1
fixed
sid
6.12.16-1
fixed
trixie
6.12.12-1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
dlm-kmp-default
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
gfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-64kb
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-default
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-default-base
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1.150400.24.78.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1.150500.6.47.1
fixed
kernel-default-man
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
kernel-docs
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-macros
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-obs-build
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-source
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-syms
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-zfcpdump
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
ocfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.258.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
reiserfs-kmp-default
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
bpftool
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-abi-stablelists
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-core
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-debug
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-debug-core
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-debug-devel
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-debug-modules
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-debug-modules-extra
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-devel
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-doc
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-modules
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-modules-extra
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-tools
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-tools-libs
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-tools-libs-devel
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-zfcpdump
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-zfcpdump-core
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-zfcpdump-devel
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-zfcpdump-modules
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
kernel-zfcpdump-modules-extra
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
perf
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed
python3-perf
RHEL 8
0:4.18.0-425.3.1.el8
fixed
RHEL 8.4 AUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 E4S
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 EUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 8.4 TUS
0:4.18.0-305.57.1.el8_4
fixed
RHEL 9
0:5.14.0-162.6.1.el9_1
fixed