CVE-2026-68127 in Linux
요약
\~에 의해 VulDB • 2026. 08. 10.
Linux 커널에서 다음 취약점이 해결되었습니다:
ila: 체크섬 조정 시 pskb_may_pull() 이후 IPv6 헤더 다시 로드하기
ila_csum_adjust_transport() 함수는 pskb_may_pull() 호출 전에 ip6h = ipv6_hdr(skb)를 캐싱합니다. 전송 계층 헤더가 페이지 프래그먼트에 위치한 비선형(non-linear) skb의 경우, pskb_may_pull()은 __pskb_pull_tail()/pskb_expand_head()를 호출하여 기존 skb 헤드를 해제할 수 있으며, 이로 인해 ip6h는 덩글링(dangling) 포인터 상태가 됩니다. 그 후 get_csum_diff(ip6h, p)에서 해지된 메모리를 읽게 됩니다. ila_update_ipv6_locator() 함수는 체크섬 조정(csum-adjust) 호출 이후에도 ip6h(및 여기서 파생된 iaddr)를 다시 사용하며, 해당 포인터를 통해 새 로케이터(locator)도 추가로 작성합니다.
영향: 구성된 ILA csum-adjust-transport 라우트 또는 수신 측 매핑을 통해 전달되는 원격 IPv6 패킷은 ila_update_ipv6_locator()에서 slab-use-after-free(KASAN 감지)를 유발합니다. 해당 라우트나 매핑을 구성하려면 CAP_NET_ADMIN 권한이 필요하지만, 일단 설정되면 트리거용 패킷에는 인증(authentication) 요구사항이 없습니다.
ila_csum_adjust_transport() 함수 내에서 체크섬 차이(csum-diff) 읽기 전에 각 pskb_may_pull() 호출 이후 ip6h를 다시 로드합니다. ila_update_ipv6_locator()에서는 ILA_CSUM_ADJUST_TRANSPORT 케이스에서만 skb를 풀(pull)하므로, 목적지 주소(destination-address) 작성 전 해당 케이스에 한해 ip6h와 iaddr를 다시 로드합니다. 중립 매핑(neutral-map) 모드들은 절대 포트를 풀지 않으며 캐시된 포인터들을 유지합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.