🔍 CVE-2024-45001

7.5
CVSS Score
HIGH
2024-09-04
2026-08-04 11:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 MANA 드라이버에서 RX 버퍼 할당 크기의 정렬(alignment) 문제로 인해 발생하는 취약점입니다. 특정 MTU 설정(예: 4000)을 사용하는 ARM64 CPU 환경에서 원자적 연산(atomic operation) 수행 시 정렬 오류로 인한 커널 패닉이 발생할 수 있습니다.

💡 쉬운 설명

네트워크 데이터를 받는 과정에서 메모리 공간을 맞추는 규칙이 어긋나 컴퓨터 시스템이 갑자기 멈추거나 오류를 일으키는 문제입니다. 특히 특정 CPU 구조를 사용하는 기기에서 네트워크 설정에 따라 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: mana: Fix RX buf alloc_size alignment and atomic op panic The MANA driver's RX buffer alloc_size is passed into napi_build_skb() to create SKB. skb_shinfo(skb) is located at the end of skb, and its alignment is affected by the alloc_size passed into napi_build_skb(). The size needs to be aligned properly for better performance and atomic operations. Otherwise, on ARM64 CPU, for certain MTU settings like 4000, atomic operations may panic on the skb_shinfo(skb)->dataref due to alignment fault. To fix this bug, add proper alignment to the alloc_size calculation. Sample panic info: [ 253.298819] Unable to handle kernel paging request at virtual address ffff000129ba5cce [ 253.300900] Mem abort info: [ 253.301760] ESR = 0x0000000096000021 [ 253.302825] EC = 0x25: DABT (current EL), IL = 32 bits [ 253.304268] SET = 0, FnV = 0 [ 253.305172] EA = 0, S1PTW = 0 [ 253.306103] FSC = 0x21: alignment fault Call trace: __skb_clone+0xfc/0x198 skb_clone+0x78/0xe0 raw6_local_deliver+0xfc/0x228 ip6_protocol_deliver_rcu+0x80/0x500 ip6_input_finish+0x48/0x80 ip6_input+0x48/0xc0 ip6_sublist_rcv_finish+0x50/0x78 ip6_sublist_rcv+0x1cc/0x2b8 ipv6_list_rcv+0x100/0x150 __netif_receive_skb_list_core+0x180/0x220 netif_receive_skb_list_internal+0x198/0x2a8 __napi_poll+0x138/0x250 net_rx_action+0x148/0x330 handle_softirqs+0x12c/0x3a0

📍 영향받는 시스템

MANA 드라이버를 사용하는 Linux 커널 (특히 ARM64 아키텍처)

⚔️ 공격 벡터

특정 MTU 설정을 유도하거나 조작하여 네트워크 패킷을 전송함으로써 시스템 패닉 유도

🛡️ 대응 방법

MANA 드라이버의 RX 버퍼 할당 크기 계산 시 적절한 정렬(alignment)이 적용된 최신 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 버전인지 배포판 보안 공지를 통해 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel