🇰🇷 한글 설명
Linux 커널의 rtl818x 드라이버 내 rtl8187_rx_cb() 함수에서 버퍼 언더플로우 취약점이 발견되었습니다. 수신된 패킷의 길이가 디스크립터 헤더 크기보다 작을 경우, 헤더 주소를 계산하는 과정에서 잘못된 메모리 영역을 참조하여 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
무선 랜 카드가 너무 짧은 데이터를 받았을 때, 이를 처리하는 과정에서 컴퓨터의 중요한 메모리 영역을 잘못 건드려 시스템이 멈추는 문제입니다. 이로 인해 컴퓨터가 갑자기 재부팅되거나 먹통이 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: rtl818x: rtl8187: Fix potential buffer underflow in rtl8187_rx_cb()
The rtl8187_rx_cb() calculates the rx descriptor header address
by subtracting its size from the skb tail pointer.
However, it does not validate if the received packet
(skb->len from urb->actual_length) is large enough to contain this
header.
If a truncated packet is received, this will lead to a buffer
underflow, reading memory before the start of the skb data area,
and causing a kernel panic.
Add length checks for both rtl8187 and rtl8187b descriptor headers
before attempting to access them, dropping the packet cleanly if the
check fails.
📍 영향받는 시스템
Linux kernel (rtl818x/rtl8187 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
조작된 짧은 길이의 무선 패킷을 전송하여 커널 메모리 참조 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인