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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-54170— keys: Fix linking a duplicate key to a keyring's assoc_array

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存在安全漏洞,该漏洞源于将重复密钥链接到密钥环的assoc_array,可能导致内核崩溃。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.21% · P10

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 14

VendorProduct Version RangeStatus
Linux Linux df593ee23e05cdda16c8c995e5818779431bb29f< 65bd66a794bfa059375ec834885bb610d75c0182 affected
df593ee23e05cdda16c8c995e5818779431bb29f< 0a6b0ca58685be34979236f83f2b322635b80b32 affected
df593ee23e05cdda16c8c995e5818779431bb29f< 9aecfebea24fe6071ace5cc9fd6d690b87276bbb affected
df593ee23e05cdda16c8c995e5818779431bb29f< 00edfa6d4fe022942e2f2e6f3294ff13ef78b15c affected
df593ee23e05cdda16c8c995e5818779431bb29f< e091bb55af9a930801f83df78195a908a76e1479 affected
df593ee23e05cdda16c8c995e5818779431bb29f< d55901522f96082a43b9842d34867363c0cdbac5 affected
5.3 affected
< 5.3 unaffected
… +6 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-54170

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
keys: Fix linking a duplicate key to a keyring's assoc_array
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: keys: Fix linking a duplicate key to a keyring's assoc_array When making a DNS query inside the kernel using dns_query(), the request code can in rare cases end up creating a duplicate index key in the assoc_array of the destination keyring. It is eventually found by a BUG_ON() check in the assoc_array implementation and results in a crash. Example report: [2158499.700025] kernel BUG at ../lib/assoc_array.c:652! [2158499.700039] invalid opcode: 0000 [#1] SMP PTI [2158499.700065] CPU: 3 PID: 31985 Comm: kworker/3:1 Kdump: loaded Not tainted 5.3.18-150300.59.90-default #1 SLE15-SP3 [2158499.700096] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020 [2158499.700351] Workqueue: cifsiod cifs_resolve_server [cifs] [2158499.700380] RIP: 0010:assoc_array_insert+0x85f/0xa40 [2158499.700401] Code: ff 74 2b 48 8b 3b 49 8b 45 18 4c 89 e6 48 83 e7 fe e8 95 ec 74 00 3b 45 88 7d db 85 c0 79 d4 0f 0b 0f 0b 0f 0b e8 41 f2 be ff <0f> 0b 0f 0b 81 7d 88 ff ff ff 7f 4c 89 eb 4c 8b ad 58 ff ff ff 0f [2158499.700448] RSP: 0018:ffffc0bd6187faf0 EFLAGS: 00010282 [2158499.700470] RAX: ffff9f1ea7da2fe8 RBX: ffff9f1ea7da2fc1 RCX: 0000000000000005 [2158499.700492] RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000000 [2158499.700515] RBP: ffffc0bd6187fbb0 R08: ffff9f185faf1100 R09: 0000000000000000 [2158499.700538] R10: ffff9f1ea7da2cc0 R11: 000000005ed8cec8 R12: ffffc0bd6187fc28 [2158499.700561] R13: ffff9f15feb8d000 R14: ffff9f1ea7da2fc0 R15: ffff9f168dc0d740 [2158499.700585] FS: 0000000000000000(0000) GS:ffff9f185fac0000(0000) knlGS:0000000000000000 [2158499.700610] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [2158499.700630] CR2: 00007fdd94fca238 CR3: 0000000809d8c006 CR4: 00000000003706e0 [2158499.700702] Call Trace: [2158499.700741] ? key_alloc+0x447/0x4b0 [2158499.700768] ? __key_link_begin+0x43/0xa0 [2158499.700790] __key_link_begin+0x43/0xa0 [2158499.700814] request_key_and_link+0x2c7/0x730 [2158499.700847] ? dns_resolver_read+0x20/0x20 [dns_resolver] [2158499.700873] ? key_default_cmp+0x20/0x20 [2158499.700898] request_key_tag+0x43/0xa0 [2158499.700926] dns_query+0x114/0x2ca [dns_resolver] [2158499.701127] dns_resolve_server_name_to_ip+0x194/0x310 [cifs] [2158499.701164] ? scnprintf+0x49/0x90 [2158499.701190] ? __switch_to_asm+0x40/0x70 [2158499.701211] ? __switch_to_asm+0x34/0x70 [2158499.701405] reconn_set_ipaddr_from_hostname+0x81/0x2a0 [cifs] [2158499.701603] cifs_resolve_server+0x4b/0xd0 [cifs] [2158499.701632] process_one_work+0x1f8/0x3e0 [2158499.701658] worker_thread+0x2d/0x3f0 [2158499.701682] ? process_one_work+0x3e0/0x3e0 [2158499.701703] kthread+0x10d/0x130 [2158499.701723] ? kthread_park+0xb0/0xb0 [2158499.701746] ret_from_fork+0x1f/0x40 The situation occurs as follows: * Some kernel facility invokes dns_query() to resolve a hostname, for example, "abcdef". The function registers its global DNS resolver cache as current->cred.thread_keyring and passes the query to request_key_net() -> request_key_tag() -> request_key_and_link(). * Function request_key_and_link() creates a keyring_search_context object. Its match_data.cmp method gets set via a call to type->match_preparse() (resolves to dns_resolver_match_preparse()) to dns_resolver_cmp(). * Function request_key_and_link() continues and invokes search_process_keyrings_rcu() which returns that a given key was not found. The control is then passed to request_key_and_link() -> construct_alloc_key(). * Concurrently to that, a second task similarly makes a DNS query for "abcdef." and its result gets inserted into the DNS resolver cache. * Back on the first task, function construct_alloc_key() first runs __key_link_begin() to determine an assoc_array_edit operation to insert a new key. Index keys in the array are compared exactly as-is, using keyring_compare_object(). The operation ---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存在安全漏洞,该漏洞源于将重复密钥链接到密钥环的assoc_array,可能导致内核崩溃。
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 df593ee23e05cdda16c8c995e5818779431bb29f ~ 65bd66a794bfa059375ec834885bb610d75c0182 -
Linux Linux 5.3 -

II. Public POCs for CVE-2023-54170

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-54170

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

Other References for CVE-2023-54170 (6)

Same Patch Batch · Linux · 2025-12-30 · 244 CVEs total

CVE-2023-54184 9.8 CRITICAL scsi: target: iscsit: Free cmds before session free
CVE-2023-54223 9.8 CRITICAL net/mlx5e: xsk: Fix invalid buffer access for legacy rq
CVE-2023-54237 9.8 CRITICAL net/smc: fix potential panic dues to unprotected smc_llc_srv_add_link()
CVE-2023-54257 9.8 CRITICAL net: macb: fix a memory corruption in extended buffer descriptor mode
CVE-2023-54258 9.8 CRITICAL cifs: fix potential oops in cifs_oplock_break
CVE-2023-54269 9.8 CRITICAL SUNRPC: double free xprt_ctxt while still in use
CVE-2023-54280 9.8 CRITICAL cifs: fix potential race when tree connecting ipc
CVE-2023-54292 9.8 CRITICAL RDMA/irdma: Fix data race on CQP request done
CVE-2023-54203 9.1 CRITICAL ksmbd: fix slab-out-of-bounds in init_smb2_rsp_hdr
CVE-2022-50880 8.8 HIGH wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state()
CVE-2023-54262 8.8 HIGH net/mlx5e: Don't clone flow post action attributes second time
CVE-2023-54214 8.8 HIGH Bluetooth: L2CAP: Fix potential user-after-free
CVE-2023-54162 8.8 HIGH ksmbd: fix possible memory leak in smb2_lock()
CVE-2023-54318 8.8 HIGH net/smc: use smc_lgr_list.lock to protect smc_lgr_list.list iterate in smcr_port_add
CVE-2023-54250 8.2 HIGH ksmbd: avoid out of bounds access in decode_preauth_ctxt()
CVE-2023-54164 8.0 HIGH Bluetooth: ISO: fix iso_conn related locking and validity issues
CVE-2023-54206 7.8 HIGH net/sched: flower: fix filter idr initialization
CVE-2023-54202 7.8 HIGH drm/i915: fix race condition UAF in i915_perf_add_config_ioctl
CVE-2023-54210 7.8 HIGH Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor()
CVE-2023-54243 7.8 HIGH netfilter: ebtables: fix table blob use-after-free

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-54170

No comments yet


Leave a comment