一、漏洞信息
漏洞编号:CVE-2024-26656
漏洞归属组件:kernel
漏洞归属的版本:4.19.140,4.19.194,4.19.90,5.10.0,6.1.0,6.1.14,6.1.19,6.1.5,6.1.6,6.1.8,6.4.0
CVSS V2.0分值:
BaseScore:0.0 Low
Vector:CVSS:2.0/
漏洞简述:
In the Linux kernel, the following vulnerability has been resolved:drm/amdgpu: fix use-after-free bugThe bug can be triggered by sending a single amdgpu_gem_userptr_ioctlto the AMDGPU DRM driver on any ASICs with an invalid address and size.The bug was reported by Joonkyo Jung joonkyoj@yonsei.ac.kr.For example the following code:static void Syzkaller1(int fd){ struct drm_amdgpu_gem_userptr arg; int ret; arg.addr = 0xffffffffffff0000; arg.size = 0x80000000; /2 Gb/ arg.flags = 0x7; ret = drmIoctl(fd, 0xc1186451/amdgpu_gem_userptr_ioctl/, &arg);}Due to the address and size are not valid there is a failure inamdgpu_hmm_register->mmu_interval_notifier_insert->__mmu_interval_notifier_insert->check_shl_overflow, but we even the amdgpu_hmm_register failure we still callamdgpu_hmm_unregister into amdgpu_gem_object_free which causes access to a bad address.The following stack is below when the issue is reproduced when Kazan is enabled:[ +0.000014] Hardware name: ASUS System Product Name/ROG STRIX B550-F GAMING (WI-FI), BIOS 1401 12/03/2020[ +0.000009] RIP: 0010:mmu_interval_notifier_remove+0x327/0x340[ +0.000017] Code: ff ff 49 89 44 24 08 48 b8 00 01 00 00 00 00 ad de 4c 89 f7 49 89 47 40 48 83 c0 22 49 89 47 48 e8 ce d1 2d 01 e9 32 ff ff ff <0f> 0b e9 16 ff ff ff 4c 89 ef e8 fa 14 b3 ff e9 36 ff ff ff e8 80[ +0.000014] RSP: 0018:ffffc90002657988 EFLAGS: 00010246[ +0.000013] RAX: 0000000000000000 RBX: 1ffff920004caf35 RCX: ffffffff8160565b[ +0.000011] RDX: dffffc0000000000 RSI: 0000000000000004 RDI: ffff8881a9f78260[ +0.000010] RBP: ffffc90002657a70 R08: 0000000000000001 R09: fffff520004caf25[ +0.000010] R10: 0000000000000003 R11: ffffffff8161d1d6 R12: ffff88810e988c00[ +0.000010] R13: ffff888126fb5a00 R14: ffff88810e988c0c R15: ffff8881a9f78260[ +0.000011] FS: 00007ff9ec848540(0000) GS:ffff8883cc880000(0000) knlGS:0000000000000000[ +0.000012] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033[ +0.000010] CR2: 000055b3f7e14328 CR3: 00000001b5770000 CR4: 0000000000350ef0[ +0.000010] Call Trace:[ +0.000006] [ +0.000007] ? show_regs+0x6a/0x80[ +0.000018] ? __warn+0xa5/0x1b0[ +0.000019] ? mmu_interval_notifier_remove+0x327/0x340[ +0.000018] ? report_bug+0x24a/0x290[ +0.000022] ? handle_bug+0x46/0x90[ +0.000015] ? exc_invalid_op+0x19/0x50[ +0.000016] ? asm_exc_invalid_op+0x1b/0x20[ +0.000017] ? kasan_save_stack+0x26/0x50[ +0.000017] ? mmu_interval_notifier_remove+0x23b/0x340[ +0.000019] ? mmu_interval_notifier_remove+0x327/0x340[ +0.000019] ? mmu_interval_notifier_remove+0x23b/0x340[ +0.000020] ? __pfx_mmu_interval_notifier_remove+0x10/0x10[ +0.000017] ? kasan_save_alloc_info+0x1e/0x30[ +0.000018] ? srso_return_thunk+0x5/0x5f[ +0.000014] ? __kasan_kmalloc+0xb1/0xc0[ +0.000018] ? srso_return_thunk+0x5/0x5f[ +0.000013] ? __kasan_check_read+0x11/0x20[ +0.000020] amdgpu_hmm_unregister+0x34/0x50 [amdgpu][ +0.004695] amdgpu_gem_object_free+0x66/0xa0 [amdgpu][ +0.004534] ? __pfx_amdgpu_gem_object_free+0x10/0x10 [amdgpu][ +0.004291] ? do_syscall_64+0x5f/0xe0[ +0.000023] ? srso_return_thunk+0x5/0x5f[ +0.000017] drm_gem_object_free+0x3b/0x50 [drm][ +0.000489] amdgpu_gem_userptr_ioctl+0x306/0x500 [amdgpu][ +0.004295] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu][ +0.004270] ? srso_return_thunk+0x5/0x5f[ +0.000014] ? __this_cpu_preempt_check+0x13/0x20[ +0.000015] ? srso_return_thunk+0x5/0x5f[ +0.000013] ? sysvec_apic_timer_interrupt+0x57/0xc0[ +0.000020] ? srso_return_thunk+0x5/0x5f[ +0.000014] ? asm_sysvec_apic_timer_interrupt+0x1b/0x20[ +0.000022] ? drm_ioctl_kernel+0x17b/0x1f0 [drm][ +0.000496] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu][ +0.004272] ? drm_ioctl_kernel+0x190/0x1f0 [drm][ +0.000492] drm_ioctl_kernel+0x140/0x1f0 [drm][ +0.000497] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu][ +0.004297] ? __pfx_drm_ioctl_kernel+0x10/0x10 [d---truncated---
漏洞公开时间:2024-04-02 15:15:42
漏洞创建时间:2024-04-02 16:28:45
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2024-26656
漏洞分析指导链接:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
openBrain开源漏洞感知系统
漏洞补丁信息:
影响的包 | 修复版本 | 修复补丁 | 问题引入补丁 | 来源 |
---|---|---|---|---|
linux | https://git.kernel.org/linus/22207fd5c80177b860279653d017474b2812af5e | https://git.kernel.org/linus/1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 | ubuntu |
二、漏洞分析结构反馈
影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:drm/amdgpu: fix use-after-free bugThe bug can be triggered by sending a single amdgpu_gem_userptr_ioctlto the AMDGPU DRM driver on any ASICs with an invalid address and size.The bug was reported by Joonkyo Jung joonkyoj@yonsei.ac.kr.For example the following code:static void Syzkaller1(int fd){struct drm_amdgpu_gem_userptr arg;int ret;arg.addr = 0xffffffffffff0000;arg.size = 0x80000000; /2 Gb/arg.flags = 0x7;ret = drmIoctl(fd, 0xc1186451/amdgpu_gem_userptr_ioctl/, &arg);}Due to the address and size are not valid there is a failure inamdgpu_hmm_register->mmu_interval_notifier_insert->__mmu_interval_notifier_insert->check_shl_overflow, but we even the amdgpu_hmm_register failure we still callamdgpu_hmm_unregister into amdgpu_gem_object_free which causes access to a bad address.The following stack is below when the issue is reproduced when Kazan is enabled:[ +0.000014] Hardware name: ASUS System Product Name/ROG STRIX B550-F GAMING (WI-FI), BIOS 1401 12/03/2020[ +0.000009] RIP: 0010:mmu_interval_notifier_remove+0x327/0x340[ +0.000017] Code: ff ff 49 89 44 24 08 48 b8 00 01 00 00 00 00 ad de 4c 89 f7 49 89 47 40 48 83 c0 22 49 89 47 48 e8 ce d1 2d 01 e9 32 ff ff ff <0f> 0b e9 16 ff ff ff 4c 89 ef e8 fa 14 b3 ff e9 36 ff ff ff e8 80[ +0.000014] RSP: 0018:ffffc90002657988 EFLAGS: 00010246[ +0.000013] RAX: 0000000000000000 RBX: 1ffff920004caf35 RCX: ffffffff8160565b[ +0.000011] RDX: dffffc0000000000 RSI: 0000000000000004 RDI: ffff8881a9f78260[ +0.000010] RBP: ffffc90002657a70 R08: 0000000000000001 R09: fffff520004caf25[ +0.000010] R10: 0000000000000003 R11: ffffffff8161d1d6 R12: ffff88810e988c00[ +0.000010] R13: ffff888126fb5a00 R14: ffff88810e988c0c R15: ffff8881a9f78260[ +0.000011] FS: 00007ff9ec848540(0000) GS:ffff8883cc880000(0000) knlGS:0000000000000000[ +0.000012] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033[ +0.000010] CR2: 000055b3f7e14328 CR3: 00000001b5770000 CR4: 0000000000350ef0[ +0.000010] Call Trace:[ +0.000006] [ +0.000007] ? show_regs+0x6a/0x80[ +0.000018] ? __warn+0xa5/0x1b0[ +0.000019] ? mmu_interval_notifier_remove+0x327/0x340[ +0.000018] ? report_bug+0x24a/0x290[ +0.000022] ? handle_bug+0x46/0x90[ +0.000015] ? exc_invalid_op+0x19/0x50[ +0.000016] ? asm_exc_invalid_op+0x1b/0x20[ +0.000017] ? kasan_save_stack+0x26/0x50[ +0.000017] ? mmu_interval_notifier_remove+0x23b/0x340[ +0.000019] ? mmu_interval_notifier_remove+0x327/0x340[ +0.000019] ? mmu_interval_notifier_remove+0x23b/0x340[ +0.000020] ? __pfx_mmu_interval_notifier_remove+0x10/0x10[ +0.000017] ? kasan_save_alloc_info+0x1e/0x30[ +0.000018] ? srso_return_thunk+0x5/0x5f[ +0.000014] ? __kasan_kmalloc+0xb1/0xc0[ +0.000018] ? srso_return_thunk+0x5/0x5f[ +0.000013] ? __kasan_check_read+0x11/0x20[ +0.000020] amdgpu_hmm_unregister+0x34/0x50 [amdgpu][ +0.004695] amdgpu_gem_object_free+0x66/0xa0 [amdgpu][ +0.004534] ? __pfx_amdgpu_gem_object_free+0x10/0x10 [amdgpu][ +0.004291] ? do_syscall_64+0x5f/0xe0[ +0.000023] ? srso_return_thunk+0x5/0x5f[ +0.000017] drm_gem_object_free+0x3b/0x50 [drm][ +0.000489] amdgpu_gem_userptr_ioctl+0x306/0x500 [amdgpu][ +0.004295] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu][ +0.004270] ? srso_return_thunk+0x5/0x5f[ +0.000014] ? __this_cpu_preempt_check+0x13/0x20[ +0.000015] ? srso_return_thunk+0x5/0x5f[ +0.000013] ? sysvec_apic_timer_interrupt+0x57/0xc0[ +0.000020] ? srso_return_thunk+0x5/0x5f[ +0.000014] ? asm_sysvec_apic_timer_interrupt+0x1b/0x20[ +0.000022] ? drm_ioctl_kernel+0x17b/0x1f0 [drm][ +0.000496] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu][ +0.004272] ? drm_ioctl_kernel+0x190/0x1f0 [drm][ +0.000492] drm_ioctl_kernel+0x140/0x1f0 [drm][ +0.000497] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu][ +0.004297] ? __pfx_drm_ioctl_kernel+0x10/0x10 [d---truncated---
openEuler评分:
5.5
Vector:CVSS:2.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
受影响版本排查(受影响/不受影响):
1.openEuler-22.03-LTS(5.10.0):受影响
2.openEuler-22.03-LTS-SP1(5.10.0):受影响
3.openEuler-22.03-LTS-SP2(5.10.0):受影响
4.openEuler-22.03-LTS-SP3(5.10.0):受影响
5.openEuler-20.03-LTS-SP1(4.19.90):不受影响
6.openEuler-20.03-LTS-SP4(4.19.90):不受影响
7.master(6.1.0):不受影响
8.openEuler-22.03-LTS-Next(5.10.0):不受影响
9.openEuler-24.03-LTS:不受影响
10.openEuler-24.03-LTS-Next:不受影响
修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(4.19.90):否
2.openEuler-20.03-LTS-SP4(4.19.90):否
3.openEuler-22.03-LTS(5.10.0):否
4.openEuler-22.03-LTS-SP1(5.10.0):否
5.openEuler-22.03-LTS-SP2(5.10.0):否
6.openEuler-22.03-LTS-SP3(5.10.0):否
7.master(6.1.0):否
8.openEuler-22.03-LTS-Next(5.10.0):否
9.openEuler-24.03-LTS:否
10.openEuler-24.03-LTS-Next:否
三、漏洞修复
安全公告链接:https://www.openeuler.org/zh/security/safety-bulletin/detail/?id=openEuler-SA-2024-1501
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
参考网址 | 关联pr | 状态 | 补丁链接 |
---|---|---|---|
https://nvd.nist.gov/vuln/detail/CVE-2024-26656 | None | None | https://git.kernel.org/stable/c/22207fd5c80177b860279653d017474b2812af5e |
https://ubuntu.com/security/CVE-2024-26656 | None | None | https://discourse.ubuntu.com/c/ubuntu-pro |
https://www.opencve.io/cve/CVE-2024-26656 | None | None | https://git.kernel.org/stable/c/22207fd5c80177b860279653d017474b2812af5e |
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2024-26656 | |||
https://security-tracker.debian.org/tracker/CVE-2024-26656 |
说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用CVE补丁工具。
若补丁不准确,烦请在此issue下评论 '/report-patch 参考网址 补丁链接1,补丁链接2' 反馈正确信息,便于我们不断优化工具,不胜感激。
如 /report-patch https://security-tracker.debian.org/tracker/CVE-2021-3997 https://github.com/systemd/systemd/commit/5b1cf7a9be37e20133c0208005274ce4a5b5c6a1
CVE-2024-26656
影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: fix use-after-free bug
The bug can be triggered by sending a single amdgpu_gem_userptr_ioctl
to the AMDGPU DRM driver on any ASICs with an invalid address and size.
The bug was reported by Joonkyo Jung joonkyoj@yonsei.ac.kr.
For example the following code:
static void Syzkaller1(int fd)
{
struct drm_amdgpu_gem_userptr arg;
int ret;
arg.addr = 0xffffffffffff0000;
arg.size = 0x80000000; /*2 Gb*/
arg.flags = 0x7;
ret = drmIoctl(fd, 0xc1186451/*amdgpu_gem_userptr_ioctl*/, &arg);
}
Due to the address and size are not valid there is a failure in
amdgpu_hmm_register->mmu_interval_notifier_insert->__mmu_interval_notifier_insert->
check_shl_overflow, but we even the amdgpu_hmm_register failure we still call
amdgpu_hmm_unregister into amdgpu_gem_object_free which causes access to a bad address.
The following stack is below when the issue is reproduced when Kazan is enabled:
[ +0.000014] Hardware name: ASUS System Product Name/ROG STRIX B550-F GAMING (WI-FI), BIOS 1401 12/03/2020
[ +0.000009] RIP: 0010:mmu_interval_notifier_remove+0x327/0x340
[ +0.000017] Code: ff ff 49 89 44 24 08 48 b8 00 01 00 00 00 00 ad de 4c 89 f7 49 89 47 40 48 83 c0 22 49 89 47 48 e8 ce d1 2d 01 e9 32 ff ff ff <0f> 0b e9 16 ff ff ff 4c 89 ef e8 fa 14 b3 ff e9 36 ff ff ff e8 80
[ +0.000014] RSP: 0018:ffffc90002657988 EFLAGS: 00010246
[ +0.000013] RAX: 0000000000000000 RBX: 1ffff920004caf35 RCX: ffffffff8160565b
[ +0.000011] RDX: dffffc0000000000 RSI: 0000000000000004 RDI: ffff8881a9f78260
[ +0.000010] RBP: ffffc90002657a70 R08: 0000000000000001 R09: fffff520004caf25
[ +0.000010] R10: 0000000000000003 R11: ffffffff8161d1d6 R12: ffff88810e988c00
[ +0.000010] R13: ffff888126fb5a00 R14: ffff88810e988c0c R15: ffff8881a9f78260
[ +0.000011] FS: 00007ff9ec848540(0000) GS:ffff8883cc880000(0000) knlGS:0000000000000000
[ +0.000012] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ +0.000010] CR2: 000055b3f7e14328 CR3: 00000001b5770000 CR4: 0000000000350ef0
[ +0.000010] Call Trace:
[ +0.000006]
[ +0.000007] ? show_regs+0x6a/0x80
[ +0.000018] ? __warn+0xa5/0x1b0
[ +0.000019] ? mmu_interval_notifier_remove+0x327/0x340
[ +0.000018] ? report_bug+0x24a/0x290
[ +0.000022] ? handle_bug+0x46/0x90
[ +0.000015] ? exc_invalid_op+0x19/0x50
[ +0.000016] ? asm_exc_invalid_op+0x1b/0x20
[ +0.000017] ? kasan_save_stack+0x26/0x50
[ +0.000017] ? mmu_interval_notifier_remove+0x23b/0x340
[ +0.000019] ? mmu_interval_notifier_remove+0x327/0x340
[ +0.000019] ? mmu_interval_notifier_remove+0x23b/0x340
[ +0.000020] ? __pfx_mmu_interval_notifier_remove+0x10/0x10
[ +0.000017] ? kasan_save_alloc_info+0x1e/0x30
[ +0.000018] ? srso_return_thunk+0x5/0x5f
[ +0.000014] ? __kasan_kmalloc+0xb1/0xc0
[ +0.000018] ? srso_return_thunk+0x5/0x5f
[ +0.000013] ? __kasan_check_read+0x11/0x20
[ +0.000020] amdgpu_hmm_unregister+0x34/0x50 [amdgpu]
[ +0.004695] amdgpu_gem_object_free+0x66/0xa0 [amdgpu]
[ +0.004534] ? __pfx_amdgpu_gem_object_free+0x10/0x10 [amdgpu]
[ +0.004291] ? do_syscall_64+0x5f/0xe0
[ +0.000023] ? srso_return_thunk+0x5/0x5f
[ +0.000017] drm_gem_object_free+0x3b/0x50 [drm]
[ +0.000489] amdgpu_gem_userptr_ioctl+0x306/0x500 [amdgpu]
[ +0.004295] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu]
[ +0.004270] ? srso_return_thunk+0x5/0x5f
[ +0.000014] ? __this_cpu_preempt_check+0x13/0x20
[ +0.000015] ? srso_return_thunk+0x5/0x5f
[ +0.000013] ? sysvec_apic_timer_interrupt+0x57/0xc0
[ +0.000020] ? srso_return_thunk+0x5/0x5f
[ +0.000014] ? asm_sysvec_apic_timer_interrupt+0x1b/0x20
[ +0.000022] ? drm_ioctl_kernel+0x17b/0x1f0 [drm]
[ +0.000496] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu]
[ +0.004272] ? drm_ioctl_kernel+0x190/0x1f0 [drm]
[ +0.000492] drm_ioctl_kernel+0x140/0x1f0 [drm]
[ +0.000497] ? __pfx_amdgpu_gem_userptr_ioctl+0x10/0x10 [amdgpu]
[ +0.004297] ? __pfx_drm_ioctl_kernel+0x10/0x10 [d
---truncated---
openEuler评分:(评分和向量)
5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
受影响版本排查(受影响/不受影响):
1.openEuler-20.03-LTS-SP1:不受影响
2.openEuler-20.03-LTS-SP4:不受影响
3.openEuler-22.03-LTS:受影响
4.openEuler-22.03-LTS-SP1:受影响
5.openEuler-22.03-LTS-SP2:受影响
6.openEuler-22.03-LTS-SP3:受影响
7.master(6.1.0):不受影响
8.openEuler-22.03-LTS-Next:不受影响
9.openEuler-24.03-LTS:不受影响
10.openEuler-24.03-LTS-Next:不受影响
修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(4.19.90):否
2.openEuler-20.03-LTS-SP4:否
3.openEuler-22.03-LTS:否
4.openEuler-22.03-LTS-SP1:否
5.openEuler-22.03-LTS-SP2:否
6.openEuler-22.03-LTS-SP3:否
7.master(6.1.0):否
8.openEuler-22.03-LTS-Next:否
9.openEuler-24.03-LTS:否
10.openEuler-24.03-LTS-Next:否
===========================================================
登录 后才可以发表评论
FileDragTip