CVE-2021-47249 in Linux
Сводка
по VulDB • 01.06.2026
В ядре Linux устранена следующая уязвимость:
net: rds: исправление утечки памяти в rds_recvmsg
Syzbot сообщил об утечке памяти в rds. Проблема заключалась в отсутствии вызова функции уменьшения счетчика ссылок (put) в случае возникновения ошибки.
```c int rds_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, int msg_flags) {
...
if (!rds_next_incoming(rs, &inc)) {
... }
После этого блока "if" счетчик ссылок для inc увеличивается, и
if (rds_cmsg_recv(inc, msg, rs)) {
ret = -EFAULT; goto out; } ... out: return ret; } ```
В случае неудачного выполнения функции rds_cmsg_recv() счетчик ссылок не уменьшается. Это легко увидеть из журнала ftrace, где видно, что вызов rds_inc_addref() не имеет парного вызова rds_inc_put() в функции rds_recvmsg() после rds_cmsg_recv():
```text 1) | rds_recvmsg() {
1) 3.721 us | rds_inc_addref(); 1) 3.853 us | rds_message_inc_copy_to_user(); 1) + 10.395 us | rds_cmsg_recv(); 1) + 34.260 us | } ```
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.