In the Linux kernel, the following vulnerability has been...
Moderate severity
Unreviewed
Published
May 1, 2025
to the GitHub Advisory Database
•
Updated May 7, 2025
Description
Published by the National Vulnerability Database
May 1, 2025
Published to the GitHub Advisory Database
May 1, 2025
Last updated
May 7, 2025
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]
References