目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2024-56664— Linux kernel 安全漏洞

一分钟漏洞结论

影响对象
Linux Linux
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bpf, sockmap子系统中元素替换和关闭之间的竞争条件问题。

CVSS 7.8 · High EPSS 0.18% · P7

影响版本矩阵 14

厂商产品 版本范围状态
Linux Linux 604326b41a6fb9b4a78b6179335decee0365cd8c< 6deb9e85dc9a2ba4414b91c1b5b00b8415910890 affected
604326b41a6fb9b4a78b6179335decee0365cd8c< fdb2cd8957ac51f84c9e742ba866087944bb834b affected
604326b41a6fb9b4a78b6179335decee0365cd8c< b79a0d1e9a374d1b376933a354c4fcd01fce0365 affected
604326b41a6fb9b4a78b6179335decee0365cd8c< b015f19fedd2e12283a8450dd0aefce49ec57015 affected
604326b41a6fb9b4a78b6179335decee0365cd8c< bf2318e288f636a882eea39f7e1015623629f168 affected
604326b41a6fb9b4a78b6179335decee0365cd8c< ed1fc5d76b81a4d681211333c026202cad4d5649 affected
4.20 affected
< 4.20 unaffected
… +6 条更多
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2024-56664 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
bpf, sockmap: Fix race between element replace and close()
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix race between element replace and close() Element replace (with a socket different from the one stored) may race with socket's close() link popping & unlinking. __sock_map_delete() unconditionally unrefs the (wrong) element: // set map[0] = s0 map_update_elem(map, 0, s0) // drop fd of s0 close(s0) sock_map_close() lock_sock(sk) (s0!) sock_map_remove_links(sk) link = sk_psock_link_pop() sock_map_unlink(sk, link) sock_map_delete_from_link // replace map[0] with s1 map_update_elem(map, 0, s1) sock_map_update_elem (s1!) lock_sock(sk) sock_map_update_common psock = sk_psock(sk) spin_lock(&stab->lock) osk = stab->sks[idx] sock_map_add_link(..., &stab->sks[idx]) sock_map_unref(osk, &stab->sks[idx]) psock = sk_psock(osk) sk_psock_put(sk, psock) if (refcount_dec_and_test(&psock)) sk_psock_drop(sk, psock) spin_unlock(&stab->lock) unlock_sock(sk) __sock_map_delete spin_lock(&stab->lock) sk = *psk // s1 replaced s0; sk == s1 if (!sk_test || sk_test == sk) // sk_test (s0) != sk (s1); no branch sk = xchg(psk, NULL) if (sk) sock_map_unref(sk, psk) // unref s1; sks[idx] will dangle psock = sk_psock(sk) sk_psock_put(sk, psock) if (refcount_dec_and_test()) sk_psock_drop(sk, psock) spin_unlock(&stab->lock) release_sock(sk) Then close(map) enqueues bpf_map_free_deferred, which finally calls sock_map_free(). This results in some refcount_t warnings along with a KASAN splat [1]. Fix __sock_map_delete(), do not allow sock_map_unref() on elements that may have been replaced. [1]: BUG: KASAN: slab-use-after-free in sock_map_free+0x10e/0x330 Write of size 4 at addr ffff88811f5b9100 by task kworker/u64:12/1063 CPU: 14 UID: 0 PID: 1063 Comm: kworker/u64:12 Not tainted 6.12.0+ #125 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014 Workqueue: events_unbound bpf_map_free_deferred Call Trace: <TASK> dump_stack_lvl+0x68/0x90 print_report+0x174/0x4f6 kasan_report+0xb9/0x190 kasan_check_range+0x10f/0x1e0 sock_map_free+0x10e/0x330 bpf_map_free_deferred+0x173/0x320 process_one_work+0x846/0x1420 worker_thread+0x5b3/0xf80 kthread+0x29e/0x360 ret_from_fork+0x2d/0x70 ret_from_fork_asm+0x1a/0x30 </TASK> Allocated by task 1202: kasan_save_stack+0x1e/0x40 kasan_save_track+0x10/0x30 __kasan_slab_alloc+0x85/0x90 kmem_cache_alloc_noprof+0x131/0x450 sk_prot_alloc+0x5b/0x220 sk_alloc+0x2c/0x870 unix_create1+0x88/0x8a0 unix_create+0xc5/0x180 __sock_create+0x241/0x650 __sys_socketpair+0x1ce/0x420 __x64_sys_socketpair+0x92/0x100 do_syscall_64+0x93/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e Freed by task 46: kasan_save_stack+0x1e/0x40 kasan_save_track+0x10/0x30 kasan_save_free_info+0x37/0x60 __kasan_slab_free+0x4b/0x70 kmem_cache_free+0x1a1/0x590 __sk_destruct+0x388/0x5a0 sk_psock_destroy+0x73e/0xa50 process_one_work+0x846/0x1420 worker_thread+0x5b3/0xf80 kthread+0x29e/0x360 ret_from_fork+0x2d/0x70 ret_from_fork_asm+0x1a/0x30 The bu ---truncated---
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bpf, sockmap子系统中元素替换和关闭之间的竞争条件问题。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux 604326b41a6fb9b4a78b6179335decee0365cd8c ~ 6deb9e85dc9a2ba4414b91c1b5b00b8415910890 -
Linux Linux 4.20 -

二、漏洞 CVE-2024-56664 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2024-56664 的情报信息

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

CVE-2024-56664 补丁与修复 (4)

同批安全公告 · Linux · 2024-12-27 · 共 221 条

CVE-2024-53209 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-53206 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-56656 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-53169 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-56645 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-56640 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-53186 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-53176 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-53177 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-53179 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2024-56591 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-56651 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-56653 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-53224 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-53237 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-56669 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-56626 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-56627 8.1 HIGH Linux kernel 安全漏洞
CVE-2024-53220 7.8 HIGH Linux kernel 安全漏洞
CVE-2024-56604 7.8 HIGH Linux kernel 安全漏洞

显示前 20 条,共 221 条。 查看全部 &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-56664

暂无评论


发表评论