🔍 CVE-2026-98241

7.8
CVSS Score
HIGH
2026-10-06
2026-10-19 10:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 IPv6 XFRM 구현에서 local error 및 PMTU 처리 경로 중 skb->sk가 항상 완전한 IPv6 소켓을 가리킨다고 가정하여 발생하는 취약점입니다. TCP SYN-ACK 패킷이 미완성된 request_sock 상태일 때 이를 완전한 소켓으로 잘못 캐스팅하여 메모리 범위를 초과해 읽을 수 있는 문제가 있습니다.

💡 쉬운 설명

네트워크 연결 과정에서 아직 만들어지지 않은 임시 정보(소켓)를 완성된 정보로 착각하여 잘못된 메모리 영역을 읽는 오류입니다. 이로 인해 시스템 정보가 유출되거나 예기치 않은 동작이 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ipv6: xfrm: use full sockets in local error paths xfrm6_local_rxpmtu() and xfrm6_local_error() dereference skb->sk as if it always pointed at a full IPv6 socket. That is not guaranteed. TCP SYN-ACK skbs can be owned by a TCP_NEW_SYN_RECV request_sock while the output path itself is driven by the full listener. If rerouting selects an IPv6 XFRM tunnel route with a lower MTU, the local PMTU/error handling path can reach these callbacks with that mini-socket still attached to the skb. The callbacks then miscast the request socket as a full inet/IPv6 socket and can read beyond the request_sock allocation when they access inet_sock or ipv6_pinfo state. Resolve the owner with skb_to_full_sk() in both callbacks and bail out when no full socket is attached. This matches the surrounding XFRM IPv6 PMTU/error logic, which already reasons about full sockets with skb_to_full_sk().

📍 영향받는 시스템

IPv6 XFRM 기능을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

특수하게 조작된 IPv6 XFRM 터널 경로 및 MTU 변경을 유도하여 메모리 읽기 오류 유발

🛡️ 대응 방법

skb_to_full_sk() 함수를 사용하여 소켓 타입을 검증하도록 커널을 최신 버전으로 업데이트

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel