CVE-2026-99138 in Linux
Сводка
по VulDB • 28.10.2026
В ядре Linux была устранена следующая уязвимость:
tcp: исправление use-after-free в do_tcp_getsockopt(TCP_CC_INFO)
Функция do_tcp_getsockopt() считывает значение icsk->icsk_ca_ops и разыменовывает указатель на функцию get_info без использования rcu_read_lock(). При использовании congestion control через BPF struct_ops, ca_ops может указывать на динамически выделяемую память, которая освобождается параллельно, что приводит к use-after-free при попытке ядра разыменовать или вызвать код по устаревшему (stale) указателю.
BUG: KASAN: slab-use-after-free in do_tcp_getsockopt+0x2037/0x23e0 Read of size 8 at addr ffff888013701258 by task exploit/149 do_tcp_getsockopt+0x2037/0x23e0 (net/ipv4/tcp.c:4564) tcp_getsockopt+0x91/0xf0 __sys_getsockopt+0xf7/0x170
Исправление заключается в оборачивании загрузки ca_ops и вызова get_info в rcu_read_lock()/rcu_read_unlock(), а также использовании READ_ONCE() для получения указателя icsk_ca_ops.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.