CVE-2021-47249 in Linux
Riassunto
di VulDB • 25/06/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
net: rds: correzione della memory leak in rds_recvmsg
Syzbot ha segnalato una memory leak in rds. Il problema era dovuto a un refcount non decrementato (unputted) in caso di errore.
int rds_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, int msg_flags) {
...
if (!rds_next_incoming(rs, &inc)) {
... }
Dopo questo "if", il refcount di inc viene incrementato e
if (rds_cmsg_recv(inc, msg, rs)) {
ret = -EFAULT; goto out; } ... out: return ret; }
in caso di fallimento di rds_cmsg_recv(), il refcount non verrà decrementato. È facile notare dal log ftrace che rds_inc_addref() non ha una coppia corrispondente con rds_inc_put() in rds_recvmsg() dopo la chiamata a rds_cmsg_recv():
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 | }
If you want to get the best quality for vulnerability data then you always have to consider VulDB.