Name | CVE-2021-47249 |
Description | In the Linux kernel, the following vulnerability has been resolved: net: rds: fix memory leak in rds_recvmsg Syzbot reported memory leak in rds. The problem was in unputted refcount in case of error. int rds_recvmsg(struct socket *sock, struct msghdr *msg, size_t size, int msg_flags) { ... if (!rds_next_incoming(rs, &inc)) { ... } After this "if" inc refcount incremented and if (rds_cmsg_recv(inc, msg, rs)) { ret = -EFAULT; goto out; } ... out: return ret; } in case of rds_cmsg_recv() fail the refcount won't be decremented. And it's easy to see from ftrace log, that rds_inc_addref() don't have rds_inc_put() pair in rds_recvmsg() after 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 | } |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
linux (PTS) | jessie, jessie (lts) | 3.16.84-1 | vulnerable |
stretch (security) | 4.9.320-2 | vulnerable | |
stretch (lts), stretch | 4.9.320-3 | vulnerable | |
buster (security), buster, buster (lts) | 4.19.316-1 | fixed | |
bullseye | 5.10.223-1 | fixed | |
bullseye (security) | 5.10.226-1 | fixed | |
bookworm | 6.1.115-1 | fixed | |
bookworm (security) | 6.1.112-1 | fixed | |
trixie | 6.11.7-1 | fixed | |
sid | 6.11.9-1 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
linux | source | jessie | (unfixed) | end-of-life | ||
linux | source | stretch | (unfixed) | end-of-life | ||
linux | source | buster | 4.19.208-1 | |||
linux | source | (unstable) | 5.10.46-1 |
https://git.kernel.org/linus/49bfcbfd989a8f1f23e705759a6bb099de2cff9f (5.13-rc7)