🔍 CVE-2026-64548

8.4
CVSS Score
HIGH
2026-07-27
2026-10-19 21:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 bpf 및 sockmap 구성 요소에서 bpf_msg_push_data() 함수가 데이터 크기를 계산할 때 정수 오버플로가 발생할 수 있는 취약점입니다. 공격자가 조작된 길이를 전달하면 메모리 할당 크기가 실제 필요한 크기보다 작게 계산되어, 결과적으로 경계 외 메모리 쓰기(Out-of-bounds memcpy)가 발생합니다.

💡 쉬운 설명

데이터의 크기를 계산하는 과정에서 숫자가 너무 커져서 오히려 아주 작은 숫자로 착각하게 만드는 오류가 있습니다. 이로 인해 컴퓨터가 필요한 공간보다 훨씬 작은 공간만 준비하게 되어, 넘쳐흐른 데이터가 다른 중요한 정보를 덮어쓸 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: reject overflowing copy + len in bpf_msg_push_data() When the scatterlist ring is full or nearly full, bpf_msg_push_data() enters a copy fallback path and computes copy + len for the page allocation size. Since len comes from BPF with arg3_type = ARG_ANYTHING and both are u32, a crafted len can wrap the sum to a small value, causing an undersized allocation followed by an out-of-bounds memcpy. BUG: unable to handle page fault for address: ffffed104089a402 Oops: Oops: 0000 [#1] SMP KASAN NOPTI Call Trace: __asan_memcpy (mm/kasan/shadow.c:105) bpf_msg_push_data (net/core/filter.c:2852 net/core/filter.c:2788) bpf_prog_9ed8b5711920a7d7+0x2e/0x36 sk_psock_msg_verdict (net/core/skmsg.c:934) tcp_bpf_sendmsg (net/ipv4/tcp_bpf.c:421 net/ipv4/tcp_bpf.c:584) __sys_sendto (net/socket.c:2206) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Add an overflow check before the allocation.

📍 영향받는 시스템

Linux kernel (bpf, sockmap 관련 모듈 사용 시스템)

⚔️ 공격 벡터

조작된 len 값을 포함한 BPF 프로그램을 통해 메모리 할당 크기 오버플로 유도

🛡️ 대응 방법

메모리 할당 전 오버플로 체크 로직이 포함된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel