Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2022-50396— net: sched: fix memory leak in tcindex_set_parms

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于tcindex_set_parms函数中内存分配后未正确释放,可能导致内存泄漏。

AI Predicted 5.5 Difficulty: Trivial EPSS 0.17% · P7

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 28

VendorProduct Version RangeStatus
Linux Linux b9a24bb76bf611a5268ceffe04219e6ad264559b< 53af9c793f644d5841d84d8e0ad83bd7ab47f3e0 affected
b9a24bb76bf611a5268ceffe04219e6ad264559b< 01d0d2b8b4e3cf2110baba9371c0c3d04ad5c77b affected
b9a24bb76bf611a5268ceffe04219e6ad264559b< 55ac68b53f1cea1926ee2313afc5d66b91daad71 affected
b9a24bb76bf611a5268ceffe04219e6ad264559b< 7a6fb69bbcb21e9ce13bdf18c008c268874f0480 affected
b9a24bb76bf611a5268ceffe04219e6ad264559b< b314f6c3512108d7a656c5caf07c82d1bbbdc0f1 affected
b9a24bb76bf611a5268ceffe04219e6ad264559b< 18c3fa7a7fdbb4d21dafc8a7710ae2c1680930f6 affected
b9a24bb76bf611a5268ceffe04219e6ad264559b< 6c55953e232ea668731091d111066521f3b7719b affected
b9a24bb76bf611a5268ceffe04219e6ad264559b< 7c183dc0af472dec33d2c0786a5e356baa8cad19 affected
… +20 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-50396

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
net: sched: fix memory leak in tcindex_set_parms
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: sched: fix memory leak in tcindex_set_parms Syzkaller reports a memory leak as follows: ==================================== BUG: memory leak unreferenced object 0xffff88810c287f00 (size 256): comm "syz-executor105", pid 3600, jiffies 4294943292 (age 12.990s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff814cf9f0>] kmalloc_trace+0x20/0x90 mm/slab_common.c:1046 [<ffffffff839c9e07>] kmalloc include/linux/slab.h:576 [inline] [<ffffffff839c9e07>] kmalloc_array include/linux/slab.h:627 [inline] [<ffffffff839c9e07>] kcalloc include/linux/slab.h:659 [inline] [<ffffffff839c9e07>] tcf_exts_init include/net/pkt_cls.h:250 [inline] [<ffffffff839c9e07>] tcindex_set_parms+0xa7/0xbe0 net/sched/cls_tcindex.c:342 [<ffffffff839caa1f>] tcindex_change+0xdf/0x120 net/sched/cls_tcindex.c:553 [<ffffffff8394db62>] tc_new_tfilter+0x4f2/0x1100 net/sched/cls_api.c:2147 [<ffffffff8389e91c>] rtnetlink_rcv_msg+0x4dc/0x5d0 net/core/rtnetlink.c:6082 [<ffffffff839eba67>] netlink_rcv_skb+0x87/0x1d0 net/netlink/af_netlink.c:2540 [<ffffffff839eab87>] netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline] [<ffffffff839eab87>] netlink_unicast+0x397/0x4c0 net/netlink/af_netlink.c:1345 [<ffffffff839eb046>] netlink_sendmsg+0x396/0x710 net/netlink/af_netlink.c:1921 [<ffffffff8383e796>] sock_sendmsg_nosec net/socket.c:714 [inline] [<ffffffff8383e796>] sock_sendmsg+0x56/0x80 net/socket.c:734 [<ffffffff8383eb08>] ____sys_sendmsg+0x178/0x410 net/socket.c:2482 [<ffffffff83843678>] ___sys_sendmsg+0xa8/0x110 net/socket.c:2536 [<ffffffff838439c5>] __sys_sendmmsg+0x105/0x330 net/socket.c:2622 [<ffffffff83843c14>] __do_sys_sendmmsg net/socket.c:2651 [inline] [<ffffffff83843c14>] __se_sys_sendmmsg net/socket.c:2648 [inline] [<ffffffff83843c14>] __x64_sys_sendmmsg+0x24/0x30 net/socket.c:2648 [<ffffffff84605fd5>] do_syscall_x64 arch/x86/entry/common.c:50 [inline] [<ffffffff84605fd5>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 [<ffffffff84800087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd ==================================== Kernel uses tcindex_change() to change an existing filter properties. Yet the problem is that, during the process of changing, if `old_r` is retrieved from `p->perfect`, then kernel uses tcindex_alloc_perfect_hash() to newly allocate filter results, uses tcindex_filter_result_init() to clear the old filter result, without destroying its tcf_exts structure, which triggers the above memory leak. To be more specific, there are only two source for the `old_r`, according to the tcindex_lookup(). `old_r` is retrieved from `p->perfect`, or `old_r` is retrieved from `p->h`. * If `old_r` is retrieved from `p->perfect`, kernel uses tcindex_alloc_perfect_hash() to newly allocate the filter results. Then `r` is assigned with `cp->perfect + handle`, which is newly allocated. So condition `old_r && old_r != r` is true in this situation, and kernel uses tcindex_filter_result_init() to clear the old filter result, without destroying its tcf_exts structure * If `old_r` is retrieved from `p->h`, then `p->perfect` is NULL according to the tcindex_lookup(). Considering that `cp->h` is directly copied from `p->h` and `p->perfect` is NULL, `r` is assigned with `tcindex_lookup(cp, handle)`, whose value should be the same as `old_r`, so condition `old_r && old_r != r` is false in this situation, kernel ignores using tcindex_filter_result_init() to clear the old filter result. So only when `old_r` is retrieved from `p->perfect` does kernel use tcindex_filter_result_init() to clear the old filter result, which triggers the above memory leak. Considering that there already exists a tc_filter_wq workqueue to destroy the old tcindex_d ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于tcindex_set_parms函数中内存分配后未正确释放,可能导致内存泄漏。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux b9a24bb76bf611a5268ceffe04219e6ad264559b ~ 53af9c793f644d5841d84d8e0ad83bd7ab47f3e0 -
Linux Linux 4.9 -

II. Public POCs for CVE-2022-50396

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-50396

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-18 · 121 CVEs total

CVE-2022-50410 9.8 CRITICAL NFSD: Protect against send buffer overflow in NFSv2 READ
CVE-2022-50401 9.8 CRITICAL nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure
CVE-2023-53382 9.8 CRITICAL net/smc: Reset connection when trying to use SMCRv2 fails.
CVE-2022-50419 8.8 HIGH Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times
CVE-2023-53431 8.8 HIGH scsi: ses: Handle enclosure with just a primary component gracefully
CVE-2023-53432 8.8 HIGH firewire: net: fix use after free in fwnet_finish_incoming_packet()
CVE-2022-50413 8.8 HIGH wifi: mac80211: fix use-after-free
CVE-2023-53374 8.8 HIGH Bluetooth: hci_conn: fail SCO/ISO via hci_conn_failed if ACL gone early
CVE-2022-50386 8.8 HIGH Bluetooth: L2CAP: Fix user-after-free
CVE-2023-53372 8.2 HIGH sctp: fix a potential overflow in sctp_ifwdtsn_skip
CVE-2023-53386 7.8 HIGH Bluetooth: Fix potential use-after-free when clear keys
CVE-2023-53394 7.8 HIGH net/mlx5e: xsk: Fix crash on regular rq reactivation
CVE-2022-50417 7.8 HIGH drm/panfrost: Fix GEM handle creation ref-counting
CVE-2023-53387 7.8 HIGH scsi: ufs: core: Fix device management cmd timeout flow
CVE-2023-53373 7.8 HIGH crypto: seqiv - Handle EBUSY correctly
CVE-2023-53388 7.8 HIGH drm/mediatek: Clean dangling pointer on bind error path
CVE-2023-53377 7.8 HIGH cifs: prevent use-after-free by freeing the cfile later
CVE-2023-53398 7.8 HIGH mlx5: fix possible ptp queue fifo use-after-free
CVE-2023-53378 7.8 HIGH drm/i915/dpt: Treat the DPT BO as a framebuffer
CVE-2023-53426 7.8 HIGH xsk: Fix xsk_diag use-after-free error during socket cleanup

Showing top 20 of 121 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2022-50396

No comments yet


Leave a comment