CVE-2022-49086
published 2025-02-26CVE-2022-49086: In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: fix leak of nested actions While parsing user-provided actions…
PriorityP421medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.27%
18.3th percentile
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.
Affected
20 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | linux | < linux 5.17.3-1 (bookworm) | linux 5.17.3-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= 34ae932a40369be6bd6ea97d66b6686361b4370d < 7438dc55c0709819b813f4778aec2c48b782990b | 7438dc55c0709819b813f4778aec2c48b782990b |
| linux | linux | >= 34ae932a40369be6bd6ea97d66b6686361b4370d < ef6f9ce0a79aa23b10fc5f3b3cab3814a25aac40 | ef6f9ce0a79aa23b10fc5f3b3cab3814a25aac40 |
| linux | linux | >= 34ae932a40369be6bd6ea97d66b6686361b4370d < 5ae05b5eb58773cfec307ff88aff4cfd843c4cff | 5ae05b5eb58773cfec307ff88aff4cfd843c4cff |
| linux | linux | >= 34ae932a40369be6bd6ea97d66b6686361b4370d < 837b96d8103938e35e7d92cd9db96af914ca4fff | 837b96d8103938e35e7d92cd9db96af914ca4fff |
| linux | linux | >= 34ae932a40369be6bd6ea97d66b6686361b4370d < 3554c214b83ec9a839ed574263a34218f372990c | 3554c214b83ec9a839ed574263a34218f372990c |
| linux | linux | >= 34ae932a40369be6bd6ea97d66b6686361b4370d < 53bce9d19b0a9d245b25cd050b81652ed974a509 | 53bce9d19b0a9d245b25cd050b81652ed974a509 |
| linux | linux | >= 34ae932a40369be6bd6ea97d66b6686361b4370d < 1f30fb9166d4f15a1aa19449b9da871fe0ed4796 | 1f30fb9166d4f15a1aa19449b9da871fe0ed4796 |
| linux | linux_kernel | — | — |
| linux | linux_kernel | >= 0 < 5.10.113-1 | 5.10.113-1 |
| linux | linux_kernel | >= 0 < 5.17.3-1 | 5.17.3-1 |
| linux | linux_kernel | >= 0 < 5.17.3-1 | 5.17.3-1 |
| linux | linux_kernel | >= 0 < 5.17.3-1 | 5.17.3-1 |
| linux | linux_kernel | >= 4.20 < 5.4.200 | 5.4.200 |
| linux | linux_kernel | >= 4.3 < 4.19.249 | 4.19.249 |
| linux | linux_kernel | >= 5.11 < 5.15.34 | 5.15.34 |
| linux | linux_kernel | >= 5.16 < 5.16.20 | 5.16.20 |
| linux | linux_kernel | >= 5.17 < 5.17.3 | 5.17.3 |
| linux | linux_kernel | >= 5.5 < 5.10.111 | 5.10.111 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Red Hat
kernel: net: openvswitch: fix leak of nested actions
vendor_redhat·2025-02-26·CVSS 5.5
CVE-2022-49086 [MEDIUM] CWE-401 kernel: net: openvswitch: fix leak of nested actions
kernel: net: openvswitch: fix leak of nested actions
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
Debian
CVE-2022-49086: linux - In the Linux kernel, the following vulnerability has been resolved: net: openvs...
vendor_debian·2022·CVSS 5.5
CVE-2022-49086 [MEDIUM] CVE-2022-49086: linux - In the Linux kernel, the following vulnerability has been resolved: net: openvs...
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 condi
GHSA
GHSA-jpcv-cqh9-hpf3: In the Linux kernel, the following vulnerability has been resolved:
net: openvswitch: fix leak of nested actions
While parsing user-provided actions
ghsa_unreviewed·2025-09-23
CVE-2022-49086 [MEDIUM] CWE-401 GHSA-jpcv-cqh9-hpf3: In the Linux kernel, the following vulnerability has been resolved:
net: openvswitch: fix leak of nested actions
While parsing user-provided actions
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 certai
OSV
CVE-2022-49086: In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: fix leak of nested actions While parsing user-provided actions,
osv·2025-02-26·CVSS 5.5
CVE-2022-49086 [MEDIUM] CVE-2022-49086: In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: fix leak of nested actions While parsing user-provided actions,
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 condi
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://git.kernel.org/stable/c/1f30fb9166d4f15a1aa19449b9da871fe0ed4796https://git.kernel.org/stable/c/3554c214b83ec9a839ed574263a34218f372990chttps://git.kernel.org/stable/c/53bce9d19b0a9d245b25cd050b81652ed974a509https://git.kernel.org/stable/c/5ae05b5eb58773cfec307ff88aff4cfd843c4cffhttps://git.kernel.org/stable/c/7438dc55c0709819b813f4778aec2c48b782990bhttps://git.kernel.org/stable/c/837b96d8103938e35e7d92cd9db96af914ca4fffhttps://git.kernel.org/stable/c/ef6f9ce0a79aa23b10fc5f3b3cab3814a25aac40
2025-02-26
Published