CVE-2022-49890

capabilities: fix potential memleak on error path from vfs_getxattr_alloc()

State
Published
Severity
5.5 Medium
Published
May 1, 2025
Updated
May 11, 2026
Reserved
May 1, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

capabilities: fix potential memleak on error path from vfs_getxattr_alloc()

In cap_inode_getsecurity(), we will use vfs_getxattr_alloc() to complete the memory allocation of tmpbuf, if we have completed the memory allocation of tmpbuf, but failed to call handler->get(...), there will be a memleak in below logic:

|-- ret = (int)vfs_getxattr_alloc(mnt_userns, ...) | /* ^^^ alloc for tmpbuf */ |-- value = krealloc(*xattr_value, error + 1, flags) | /* ^^^ alloc memory */ |-- error = handler->get(handler, ...) | /* error! */ |-- *xattr_value = value | /* xattr_value is &tmpbuf (memory leak!) */

So we will try to free(tmpbuf) after vfs_getxattr_alloc() fails to fix it.

[PM: subject line and backtrace tweaks]

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

  • CWE-401 Missing Release of Memory after Effective Lifetime

Affected Products

ProductVersions
LinuxLinux
  • 8db6c34f1dbc8e06aa016a9b829b06902c3e1340 to before 6bb00eb21c0fbf18e5d3538c9ff0cf63fd0ace85Affected
  • 8db6c34f1dbc8e06aa016a9b829b06902c3e1340 to before 90577bcc01c4188416a47269f8433f70502abe98Affected
  • 8db6c34f1dbc8e06aa016a9b829b06902c3e1340 to before 0c3e6288da650d1ec911a259c77bc2d88e498603Affected
  • 8db6c34f1dbc8e06aa016a9b829b06902c3e1340 to before cdf01c807e974048c43c7fd3ca574f6086a57906Affected
  • 8db6c34f1dbc8e06aa016a9b829b06902c3e1340 to before 2de8eec8afb75792440b8900a01d52b8f6742fd1Affected
  • 8db6c34f1dbc8e06aa016a9b829b06902c3e1340 to before 7480aeff0093d8c54377553ec6b31110bea37b4dAffected
  • 8db6c34f1dbc8e06aa016a9b829b06902c3e1340 to before 8cf0a1bc12870d148ae830a4ba88cfdf0e879ceeAffected
LinuxLinux
  • 4.14Affected
  • before 4.14Not affected
  • 4.14.299 through 4.14.*Not affected
  • 4.19.265 through 4.19.*Not affected
  • 5.4.224 through 5.4.*Not affected
  • 5.10.154 through 5.10.*Not affected
  • 5.15.78 through 5.15.*Not affected
  • 6.0.8 through 6.0.*Not affected
  • 6.1 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.