🔍 CVE-2022-50655

0.0
CVSS Score
UNKNOWN
2025-12-09
2026-11-10 12:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 PPP 드라이버에서 패킷 전송 시 skb(소켓 버퍼)가 장치와 연결되지 않아 flow dissector가 네트워크 네임스페이스를 찾지 못하고 경고가 발생하는 문제입니다. 해당 문제는 ppp_send_frame에서 ppp->dev를 명시적으로 연결하여 해결되었습니다.

💡 쉬운 설명

리눅스 커널의 PPP(점대점 연결) 기능에서 데이터를 보낼 때 어느 장치로 보내는지 정보가 빠져 있어 커널 경고가 발생하던 문제입니다. 이후 패치로 해당 정보가 올바르게 지정되어 문제가 수정되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ppp: associate skb with a device at tx Syzkaller triggered flow dissector warning with the following: r0 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000000), 0xc0802, 0x0) ioctl$PPPIOCNEWUNIT(r0, 0xc004743e, &(0x7f00000000c0)) ioctl$PPPIOCSACTIVE(r0, 0x40107446, &(0x7f0000000240)={0x2, &(0x7f0000000180)=[{0x20, 0x0, 0x0, 0xfffff034}, {0x6}]}) pwritev(r0, &(0x7f0000000040)=[{&(0x7f0000000140)='\x00!', 0x2}], 0x1, 0x0, 0x0) [ 9.485814] WARNING: CPU: 3 PID: 329 at net/core/flow_dissector.c:1016 __skb_flow_dissect+0x1ee0/0x1fa0 [ 9.485929] skb_get_poff+0x53/0xa0 [ 9.485937] bpf_skb_get_pay_offset+0xe/0x20 [ 9.485944] ? ppp_send_frame+0xc2/0x5b0 [ 9.485949] ? _raw_spin_unlock_irqrestore+0x40/0x60 [ 9.485958] ? __ppp_xmit_process+0x7a/0xe0 [ 9.485968] ? ppp_xmit_process+0x5b/0xb0 [ 9.485974] ? ppp_write+0x12a/0x190 [ 9.485981] ? do_iter_write+0x18e/0x2d0 [ 9.485987] ? __import_iovec+0x30/0x130 [ 9.485997] ? do_pwritev+0x1b6/0x240 [ 9.486016] ? trace_hardirqs_on+0x47/0x50 [ 9.486023] ? __x64_sys_pwritev+0x24/0x30 [ 9.486026] ? do_syscall_64+0x3d/0x80 [ 9.486031] ? entry_SYSCALL_64_after_hwframe+0x63/0xcd Flow dissector tries to find skb net namespace either via device or via socket. Neigher is set in ppp_send_frame, so let's manually use ppp->dev.

📍 영향받는 시스템

PPP 드라이버를 포함한 Linux 커널 (패치 이전 버전, 정확한 영향 범위는 해당 커널 버전의 changelog 확인 필요)

⚔️ 공격 벡터

로컬 사용자가 PPP 장치에 특수하게 구성된 쓰기 요청을 보내 커널 경고(WARNING)를 유발할 수 있으며, 공개된 정보상 권한 상승이나 원격 공격 경로는 확인되지 않음

🛡️ 대응 방법

배포판 제공 커널 보안 업데이트를 적용하거나 해당 수정이 포함된 최신 커널로 업그레이드

🔧 검증 코드

출력된 커널 버전이 배포판 보안 공지에서 이 CVE 수정이 포함된 버전 이상인지 비교하며, 같거나 높으면 패치가 적용된 것으로 판단

Shell / Script
uname -r && (dpkg -l 'linux-image*' 2>/dev/null | grep '^ii' || rpm -qa 'kernel*' 2>/dev/null)

💻 영향받는 소프트웨어

Linux Kernel