Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-98393

Опубликовано: 14 окт. 2026
Источник: redhat
CVSS3: 5.5

Описание

In the Linux kernel, the following vulnerability has been resolved: net: ipv4: Fix UDP length overflow with PMTU discover and big MTU This commit bounds cork->base.fragsize to IP_MAX_MTU to avoid a possible overflow of UDP length that triggers a WARN in udp_set_len_short when setsockopt IP_MTU_DISCOVER is set to IP_PMTUDISC_PROBE, and a large packet is sent over a netdev with an unusually large MTU. Steps to reproduce:

  1. Set device MTU bigger than IP_MAX_MTU + 20. cork->base.fragsize will be set to that MTU in ip_setup_cork.
  2. Set IP_MTU_DISCOVER to IP_PMTUDISC_PROBE. It lets maxnonfragsize be set to device MTU (cork->fragsize) in __ip_append_data, rather than to IP_MAX_MTU.
  3. Send 65528 bytes of payload (+8 bytes of UDP header, +20 bytes of IPv4 header). Device MTU allows it (it's only one byte bigger than IP_MAX_MTU + IPv4 header, and the device MTU is bigger than that).
  4. The UDP length in the built packet is 65536, which overflows the 16-bit length field and triggers the WARN in udp_set_len_short. Note: IP_PMTUDISC_DO with IPv4 is safe, because ip_dst_mtu_maybe_forward always clamps at IP_MAX_MTU, unlike ip6_dst_mtu_maybe_forward. The Fixes tag points at the first commit where I could reproduce the overflow with IPv4 and IP_PMTUDISC_PROBE.

    A flaw was found in the Linux kernel. A local user can trigger an integer overflow when transmitting large User Datagram Protocol (UDP) packets over a network interface configured with an unusually large Maximum Transmission Unit (MTU). By enabling Path MTU discovery socket options and sending an oversized payload, the calculated packet length exceeds the 16-bit limit, triggering a kernel warning and potentially causing a Denial of Service (DoS).

Отчет

A flaw of low impact was found in the Linux kernel IPv4 networking stack. It affects the kernel and kernel-rt packages across Red Hat Enterprise Linux 7, 8, 9, and 10 update streams, as well as the kernel components shipped in Red Hat OpenShift Container Platform (RHEL CoreOS) and Red Hat In-Vehicle OS. A local user can trigger an integer overflow in the UDP transmit path by setting the IP_MTU_DISCOVER socket option to IP_PMTUDISC_PROBE and sending a large UDP payload over a network device configured with an unusually large MTU (greater than IP_MAX_MTU + 20). The computed UDP length can then reach 65536, overflowing the 16-bit UDP length field and triggering a kernel WARN in udp_set_len_short, potentially causing a local denial of service; systems configured with panic_on_warn may panic as a result of the warning. Confidentiality and integrity are not affected, and no privilege escalation primitive is supported by the affected code path. Red Hat rates this flaw as low severity because exploitation requires local access combined with an uncommon network device configuration, and the demonstrated impact is a kernel warning and failure of the oversized packet to be delivered. Because of the low severity and the unusual configuration required to trigger the issue, the fix is currently deferred for the affected Red Hat products; the residual risk is a local denial of service limited to systems that use oversized device MTUs together with IP_PMTUDISC_PROBE. IPv4 with IP_PMTUDISC_DO is not affected because the path MTU is always clamped at IP_MAX_MTU in that mode. Red Hat Enterprise Linux 6 is out of support and is not scheduled to receive a fix.

Меры по смягчению последствий

This issue can only be triggered on network devices configured with an MTU larger than IP_MAX_MTU (65535 bytes) while an application uses the IP_PMTUDISC_PROBE Path MTU discovery socket option. As a workaround, do not configure network interfaces with MTU values above 65535 bytes (for example, keep interfaces at standard values such as 1500); with such configurations the UDP length cannot overflow the 16-bit length field.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelFix deferred
Red Hat Enterprise Linux 6kernelOut of support scope
Red Hat Enterprise Linux 7kernelFix deferred
Red Hat Enterprise Linux 7kernel-rtFix deferred
Red Hat Enterprise Linux 8kernelFix deferred
Red Hat Enterprise Linux 8kernel-rtFix deferred
Red Hat Enterprise Linux 9kernelFix deferred
Red Hat Enterprise Linux 9kernel-rtFix deferred
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-8Fix deferred
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-9Fix deferred

Показывать по

Дополнительная информация

Статус:

Low
Дефект:
CWE-190
https://bugzilla.redhat.com/show_bug.cgi?id=2552200kernel: net: ipv4: Fix UDP length overflow with PMTU discover and big MTU

5.5 Medium

CVSS3

Связанные уязвимости

ubuntu
29 дней назад

In the Linux kernel, the following vulnerability has been resolved: net: ipv4: Fix UDP length overflow with PMTU discover and big MTU This commit bounds cork->base.fragsize to IP_MAX_MTU to avoid a possible overflow of UDP length that triggers a WARN in udp_set_len_short when setsockopt IP_MTU_DISCOVER is set to IP_PMTUDISC_PROBE, and a large packet is sent over a netdev with an unusually large MTU. Steps to reproduce: 1. Set device MTU bigger than IP_MAX_MTU + 20. cork->base.fragsize will be set to that MTU in ip_setup_cork. 2. Set IP_MTU_DISCOVER to IP_PMTUDISC_PROBE. It lets maxnonfragsize be set to device MTU (cork->fragsize) in __ip_append_data, rather than to IP_MAX_MTU. 3. Send 65528 bytes of payload (+8 bytes of UDP header, +20 bytes of IPv4 header). Device MTU allows it (it's only one byte bigger than IP_MAX_MTU + IPv4 header, and the device MTU is bigger than that). 4. The UDP length in the built packet is 65536, which overflows the 16-bit length field and triggers the WAR...

nvd
29 дней назад

In the Linux kernel, the following vulnerability has been resolved: net: ipv4: Fix UDP length overflow with PMTU discover and big MTU This commit bounds cork->base.fragsize to IP_MAX_MTU to avoid a possible overflow of UDP length that triggers a WARN in udp_set_len_short when setsockopt IP_MTU_DISCOVER is set to IP_PMTUDISC_PROBE, and a large packet is sent over a netdev with an unusually large MTU. Steps to reproduce: 1. Set device MTU bigger than IP_MAX_MTU + 20. cork->base.fragsize will be set to that MTU in ip_setup_cork. 2. Set IP_MTU_DISCOVER to IP_PMTUDISC_PROBE. It lets maxnonfragsize be set to device MTU (cork->fragsize) in __ip_append_data, rather than to IP_MAX_MTU. 3. Send 65528 bytes of payload (+8 bytes of UDP header, +20 bytes of IPv4 header). Device MTU allows it (it's only one byte bigger than IP_MAX_MTU + IPv4 header, and the device MTU is bigger than that). 4. The UDP length in the built packet is 65536, which overflows the 16-bit length field a

CVSS3: 1.9
msrc
27 дней назад

net: ipv4: Fix UDP length overflow with PMTU discover and big MTU

debian
29 дней назад

In the Linux kernel, the following vulnerability has been resolved: n ...

github
29 дней назад

In the Linux kernel, the following vulnerability has been resolved: net: ipv4: Fix UDP length overflow with PMTU discover and big MTU This commit bounds cork->base.fragsize to IP_MAX_MTU to avoid a possible overflow of UDP length that triggers a WARN in udp_set_len_short when setsockopt IP_MTU_DISCOVER is set to IP_PMTUDISC_PROBE, and a large packet is sent over a netdev with an unusually large MTU. Steps to reproduce: 1. Set device MTU bigger than IP_MAX_MTU + 20. cork->base.fragsize will be set to that MTU in ip_setup_cork. 2. Set IP_MTU_DISCOVER to IP_PMTUDISC_PROBE. It lets maxnonfragsize be set to device MTU (cork->fragsize) in __ip_append_data, rather than to IP_MAX_MTU. 3. Send 65528 bytes of payload (+8 bytes of UDP header, +20 bytes of IPv4 header). Device MTU allows it (it's only one byte bigger than IP_MAX_MTU + IPv4 header, and the device MTU is bigger than that). 4. The UDP length in the built packet is 65536, which overflows the 16-bit length fiel...

5.5 Medium

CVSS3