CVEvulnerability
CVE-2023-53200
5.5 MEDIUM
Official page ↗
- Status
- Analyzed
- Published
- 2025-09-15
- Last modified
- 2026-06-17
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 ([email protected])
- 5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-401
Description
In the Linux kernel, the following vulnerability has been resolved:
netfilter: x_tables: fix percpu counter block leak on error path when creating new netns
Here is the stack where we allocate percpu counter block:
+-< __alloc_percpu
+-< xt_percpu_counter_alloc
+-< find_check_entry # {arp,ip,ip6}_tables.c
+-< translate_table
And it can be leaked on this code path:
+-> ip6t_register_table
+-> translate_table # allocates percpu counter block
+-> xt_register_table # fails
there is no freeing of the counter block on xt_register_table fail.
Note: xt_percpu_counter_free should be called to free it like we do in
do_replace through cleanup_entry helper (or in __ip6t_unregister_table).
Probability of hitting this error path is low AFAICS (xt_register_table
can only return ENOMEM here, as it is not replacing anything, as we are
creating new netns, and it is hard to imagine that all previous
allocations succeeded and after that one in xt_register_table failed).
But it's worth fixing even the rare leak.
Affected configurations
• linux linux kernel (>= 4.2 < 5.15.100)
• linux linux kernel (>= 5.16 < 6.1.18)
• linux linux kernel (>= 6.2 < 6.2.5)
Related
Weakness · CWE (1)
- CWE-401 Missing Release of Memory after Effective Lifetime weakness
References
- https://git.kernel.org/stable/c/0af8c09c896810879387decfba8c942994bb61f5 Patch
- https://git.kernel.org/stable/c/3cc9610a87b7dde82f7360dd4eb6c2c27940ed57 Patch
- https://git.kernel.org/stable/c/512b6c4b83c91d007301ea7d7f095d16c3aceacd Patch
- https://git.kernel.org/stable/c/e306dbee4c98025a9326386023a12ef4d887e9d1 Patch