🇰🇷 한글 설명
리눅스 커널의 net/ppp 모듈 내 ppp_sync_txmung 함수에서 skb 데이터에 대한 경계 검사가 누락되어 발생한 취약점입니다. 페이로드가 비어 있는 짧은 패킷을 처리할 때 선형 버퍼의 범위를 벗어난 메모리에 접근할 수 있는 Out-of-bounds 접근 문제가 존재합니다.
💡 쉬운 설명
네트워크 통신 중 데이터가 거의 없는 아주 짧은 패킷이 들어올 때, 컴퓨터가 허용된 데이터 범위를 넘어서 잘못된 메모리 영역을 읽으려고 시도하는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: ppp: Add bound checking for skb data on ppp_sync_txmung
Ensure we have enough data in linear buffer from skb before accessing
initial bytes. This prevents potential out-of-bounds accesses
when processing short packets.
When ppp_sync_txmung receives an incoming package with an empty
payload:
(remote) gef➤ p *(struct pppoe_hdr *) (skb->head + skb->network_header)
$18 = {
type = 0x1,
ver = 0x1,
code = 0x0,
sid = 0x2,
length = 0x0,
tag = 0xffff8880371cdb96
}
from the skb struct (trimmed)
tail = 0x16,
end = 0x140,
head = 0xffff88803346f400 "4",
data = 0xffff88803346f416 ":\377",
truesize = 0x380,
len = 0x0,
data_len = 0x0,
mac_len = 0xe,
hdr_len = 0x0,
it is not safe to access data[2].
[
[email protected]: fixed subj typo]
📍 영향받는 시스템
PPP 프로토콜을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
원격에서 조작된 짧은 페이로드를 가진 PPP 패킷을 전송하여 발생
🛡️ 대응 방법
PPP 관련 경계 검사 로직이 포함된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인하십시오.