CVE-2021-47249

net: rds: fix memory leak in rds_recvmsg

State
Published
Severity
Not scored
Published
May 21, 2024
Updated
May 11, 2026
Reserved
Apr 10, 2024

Read the record on cve.org

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 | }

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before 8c3ec88b03e9e4ca117dcdc4204fd3edcd02084fAffected
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before 423c6939758fb3b9cf5abbd1e7792068a5c4ae8cAffected
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before 1f79bc8ae81c05eb112a53f981cb2c244ee50d02Affected
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before 06b7cb0194bd1ede0dd27f3a946e7c0279fba44aAffected
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before 2038cd15eacdf7512755c27686822e0052eb9042Affected
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before 5946fbf48355f5a8caeff72580c7658da5966b86Affected
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before b25b60d076164edb3025e85aabd2cf50a5215b91Affected
  • bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb to before 49bfcbfd989a8f1f23e705759a6bb099de2cff9fAffected
LinuxLinux
  • 2.6.30Affected
  • before 2.6.30Not affected
  • 4.4.274 through 4.4.*Not affected
  • 4.9.274 through 4.9.*Not affected
  • 4.14.238 through 4.14.*Not affected
  • 4.19.196 through 4.19.*Not affected
  • 5.4.128 through 5.4.*Not affected
  • 5.10.46 through 5.10.*Not affected
  • 5.12.13 through 5.12.*Not affected
  • 5.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.