CVE-2023-53752 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 22.

리눅스 커널에서 다음 취약점이 해결되었습니다.

net: kmalloc_reserve()의 정수 오버플로우 처리

변경된 commit은 다음과 같습니다: ptr = kmalloc(size); if (ptr) size = ksize(ptr);

size = kmalloc_size_roundup(size); ptr = kmalloc(size);

이로 인해 syzbot [1]과 Kyle Zeng가 보고한 다양한 크래시가 발생했습니다.

문제는 @size가 0x80000001보다 클 경우, kmalloc_size_roundup(size)가 2^32를 반환한다는 것입니다.

kmalloc_reserve()는 32비트 변수(obj_size)를 사용하므로, 2^32는 0으로 잘려나갑니다(truncated).

kmalloc(0)은 ZERO_SIZE_PTR을 반환하며, 이는 skb 할당에서 처리되지 않습니다.

netdev->mtu가 0x7fffffff에 가깝게 설정되면 다음 트레이스를 트리거할 수 있습니다.

향후 netdev->mtu를 더 합리적인 제한(KMALLOC_MAX_SIZE 등)으로 제한할 수도 있습니다.

이 패치는 syzbot 보고서와 Kyle Zeng의 보고서 및 임시 수정안을 기반으로 합니다.

[1]
BUG: KASAN: user-memory-access in __build_skb_around net/core/skbuff.c:294 [inline]
BUG: KASAN: user-memory-access in __alloc_skb+0x3c4/0x6e8 net/core/skbuff.c:527 Write of size 32 at addr 00000000fffffd10 by task syz-executor.4/22554

CPU: 1 PID: 22554 Comm: syz-executor.4 Not tainted 6.1.39-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/03/2023 Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:279 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:286 __dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x120/0x1a0 lib/dump_stack.c:106 print_report+0xe4/0x4b4 mm/kasan/report.c:398

If you want to get best quality of vulnerability data, you may have to visit VulDB.

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!