Описание
In the Linux kernel, the following vulnerability has been resolved:
net: ipv4: bound TCP reordering sysctl writes and MTU probe sizes
Reject invalid net.ipv4.tcp_reordering values before they reach TCP
socket state. The sysctl is stored as an int but copied into the
u32 tp->reordering field for new sockets, so negative writes wrap
to large values.
With tcp_mtu_probing=2, the wrapped value can overflow the
tcp_mtu_probe() size calculation and drive the MTU probing path into
an out-of-bounds read. Route tcp_reordering writes through
proc_dointvec_minmax() and require it to be at least 1. Also require
tcp_max_reordering to be at least 1 so the configured maximum cannot
become negative either.
When registering the table for a non-init network namespace, relocate
extra2 pointers that refer into init_net.ipv4 so the
tcp_reordering upper bound follows that namespace's
tcp_max_reordering.
Harden tcp_mtu_probe() itself by computing size_needed as u64.
This k
Ссылки
EPSS
7.1 High
CVSS3
Дефекты
Связанные уязвимости
In the Linux kernel, the following vulnerability has been resolved: net: ipv4: bound TCP reordering sysctl writes and MTU probe sizes Reject invalid `net.ipv4.tcp_reordering` values before they reach TCP socket state. The sysctl is stored as an `int` but copied into the `u32` `tp->reordering` field for new sockets, so negative writes wrap to large values. With `tcp_mtu_probing=2`, the wrapped value can overflow the `tcp_mtu_probe()` size calculation and drive the MTU probing path into an out-of-bounds read. Route `tcp_reordering` writes through `proc_dointvec_minmax()` and require it to be at least 1. Also require `tcp_max_reordering` to be at least 1 so the configured maximum cannot become negative either. When registering the table for a non-init network namespace, relocate `extra2` pointers that refer into `init_net.ipv4` so the `tcp_reordering` upper bound follows that namespace's `tcp_max_reordering`. Harden `tcp_mtu_probe()` itself by computing `size_needed` as `u64`. This kee...
A flaw was found in the Linux kernel's IPv4 networking stack. Invalid values for `net.ipv4.tcp_reordering`, particularly negative inputs, can lead to an integer overflow when processed. When `tcp_mtu_probing` is enabled, this overflow can cause an out-of-bounds read within the `tcp_mtu_probe()` function. This vulnerability may allow an attacker to access sensitive information or cause system instability.
In the Linux kernel, the following vulnerability has been resolved: n ...
In the Linux kernel, the following vulnerability has been resolved: net: ipv4: bound TCP reordering sysctl writes and MTU probe sizes Reject invalid `net.ipv4.tcp_reordering` values before they reach TCP socket state. The sysctl is stored as an `int` but copied into the `u32` `tp->reordering` field for new sockets, so negative writes wrap to large values. With `tcp_mtu_probing=2`, the wrapped value can overflow the `tcp_mtu_probe()` size calculation and drive the MTU probing path into an out-of-bounds read. Route `tcp_reordering` writes through `proc_dointvec_minmax()` and require it to be at least 1. Also require `tcp_max_reordering` to be at least 1 so the configured maximum cannot become negative either. When registering the table for a non-init network namespace, relocate `extra2` pointers that refer into `init_net.ipv4` so the `tcp_reordering` upper bound follows that namespace's `tcp_max_reordering`. Harden `tcp_mtu_probe()` itself by computing `size_needed` as `u64`. Thi...
EPSS
7.1 High
CVSS3