В ядре Linux устранена уязвимость, связанная с переполнением `sk->sk_rmem_alloc` в модуле netlink. Проблема заключалась в том, что в некото…
В ядре Linux устранена уязвимость, связанная с переполнением `sk->sk_rmem_alloc` в модуле netlink. Проблема заключалась в том, что в некоторых местах кода использовалась проверка `if (atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf)`, которая могла привести к переполнению из-за сравнения знаковых целых чисел. Например, установка `INT_MAX` для `SO_RCVBUFFORCE` делала условие всегда ложным, позволяя одному сокету потреблять произвольное количество `skb` до возникновения OOM. Исправление заключалось в использовании `atomic_add_return()` и сравнении переменных как беззнаковых целых чисел. До исправления: ``` [root@fedora ~]# ss -f netlink Recv-Q Send-Q Local Address:Port Peer Address:Port -1668710080 0 rtnl:nl_wraparound/293 * ``` После исправления: ``` [root@fedora ~]# ss -f netlink Recv-Q Send-Q Local Address:Port Peer Address:Port 2147483072 0 rtnl:nl_wraparound/290 * ^ `--- INT_MAX - 576 ``` Источники: - [1] https://git.kernel.org/stable/c/9da025150b7c14a8390fc06aea314c0a4011e82c - [2] https://git.kernel.org/stable/c/c4ceaac5c5ba0b992ee1dc88e2a02421549e5c98 - [3] https://git.kernel.org/stable/c/fd69af06101090eaa60b3d216ae715f9c0a58e5b - [4] https://git.kernel.org/stable/c/76602d8e13864524382b0687dc32cd8f19164d5a - [5] https://git.kernel.org/stable/c/55baecb9eb90238f60a8350660d6762046ebd3bd
Продукт не отслеживает должным образом и не освобождает выделенную память после её использования, делая память недоступной для повторного выделения и использования.
https://cwe.mitre.org/data/definitions/401.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |