🔍 CVE-2026-45940

5.5
CVSS Score
MEDIUM
2026-05-27
2026-11-06 16:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 stmmac 네트워크 드라이버에서 GMAC4 하드웨어의 split header 기능 사용 시 발생하는 취약점입니다. 특정 상황에서 하드웨어가 데이터 버퍼를 완전히 채우지 않아 잘못된 길이 계산이 발생하며, 이로 인해 커널 페이지 요청 오류(Oops)가 발생하여 시스템이 중단될 수 있습니다.

💡 쉬운 설명

네트워크 데이터를 처리하는 과정에서 데이터의 길이를 잘못 계산하여 컴퓨터의 핵심 시스템(커널)이 갑자기 멈추거나 오류를 일으키는 문제입니다. 특정 하드웨어 설정이 켜져 있을 때 드물게 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix oops when split header is enabled For GMAC4, when split header is enabled, in some rare cases, the hardware does not fill buf2 of the first descriptor with payload. Thus we cannot assume buf2 is always fully filled if it is not the last descriptor. Otherwise, the length of buf2 of the second descriptor will be calculated wrong and cause an oops: Unable to handle kernel paging request at virtual address ffff00019246bfc0 ... x2 : 0000000000000040 x1 : ffff00019246bfc0 x0 : ffff00009246c000 Call trace: dcache_inval_poc+0x28/0x58 (P) dma_direct_sync_single_for_cpu+0x38/0x6c __dma_sync_single_for_cpu+0x34/0x6c stmmac_napi_poll_rx+0x8f0/0xb60 __napi_poll.constprop.0+0x30/0x144 net_rx_action+0x160/0x274 handle_softirqs+0x1b8/0x1fc ... To fix this, the PL bit-field in RDES3 register is used for all descriptors, whether it is the last descriptor or not.

📍 영향받는 시스템

Linux kernel (stmmac driver with GMAC4 and split header enabled)

⚔️ 공격 벡터

특수하게 조작된 네트워크 패킷을 전송하여 드라이버의 오류를 유도함으로써 시스템 중단(DoS) 유발

🛡️ 대응 방법

stmmac 드라이버의 RDES3 레지스터 PL 비트필드 처리 로직이 수정된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel