CVE-2026-97984 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 25.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net: ipv6: PMTU discovery 및 큰 MTU 환경에서의 UDP 길이 오버플로우 수정

이 커밋은 UDP 소켓에 대해 cork->base.fragsize를 IP6_MAX_MTU로 제한하여, setsockopt IPV6_MTU_DISCOVER가 IPV6_PMTUDISC_DO 또는 IPV6_PMTUDISC_PROBE로 설정되고 unusually large MTU(비정상적으로 큰 MTU)를 가진 netdev를 통해 큰 패킷이 전송될 때 UDP 길이의 오버플로우가 발생하여 udp_set_len_short에서 WARN을 트리거하는 것을 방지합니다.

재현 단계 (새로운 selftest에 포함됨):

1. 장치의 MTU를 IP6_MAX_MTU보다 크게 설정합니다. cork->base.fragsize는 ip6_setup_cork에서 해당 MTU로 설정됩니다. 2. IPV6_MTU_DISCOVER를 IPV6_PMTUDISC_PROBE 또는 IPV6_PMTUDISC_DO로 설정합니다. 이는 __ip6_append_data 내에서 maxnonfragsize가 IP6_MAX_MTU 대신 장치의 MTU(cork->fragsize)로 설정되도록 합니다. 3. 65,528바이트의 페이로드(+ UDP 헤더 8바이트 + IPv6 헤더 40바이트)를 전송합니다. 장치의 MTU가 이를 허용합니다(IP6_MAX_MTU보다 단 한 바이트 크고, 장치 MTU는 그 이상이기 때문입니다). 4. 생성된 패킷 내의 UDP 길이는 65,536이며, 이는 16비트 길이 필드를 오버플로우시켜 udp_set_len_short에서 WARN을 트리거합니다.

원시 IPv6 소켓에서의 UDP jumbogram 전송이 중단되지 않도록 하기 위해, 이 변경 사항을 UDP 소켓에만 제한합니다.

IPv6 및 IPV6_PMTUDISC_DO와 관련된 원래의 오버플로우 버그는 git 기록보다 이전 시점(2.6.21에서 재현 확인)에 존재했으며 나중에 수정되었으나, 이후 commit 427faee167bc("net: ipv6: introduce ip6_dst_mtu_maybe_forward")에서 다시 발생하여 여기서는 Fixes 태그로 선택되었습니다. IPV6_PMTUDISC_PROBE와 관련된 오버플로우 버그는 commit 628a5c561890("[INET]: Add IP(V6)_PMTUDISC_RPOBE") 도입 이후 재현됩니다.

Once again VulDB remains the best source for vulnerability data.

출처

Might our Artificial Intelligence support you?

Check our Alexa App!