5.5

CVE-2022-49890

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

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]
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
LinuxLinux Kernel Version >= 4.14 < 4.14.299
LinuxLinux Kernel Version >= 4.15 < 4.19.265
LinuxLinux Kernel Version >= 4.20 < 5.4.224
LinuxLinux Kernel Version >= 5.5 < 5.10.154
LinuxLinux Kernel Version >= 5.11 < 5.15.78
LinuxLinux Kernel Version >= 5.16 < 6.0.8
LinuxLinux Kernel Version6.1 Updaterc1
LinuxLinux Kernel Version6.1 Updaterc2
LinuxLinux Kernel Version6.1 Updaterc3
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.19% 0.084
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 5.5 1.8 3.6
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
134c704f-9b21-4f2e-91b3-4a467353bcc0 5.5 1.8 3.6
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE-401 Missing Release of Memory after Effective Lifetime

The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.

https://git.kernel.org/stable/c/6bb00eb21c0fbf18e5d3538c9ff0cf63fd0ace85
Patch
https://git.kernel.org/stable/c/90577bcc01c4188416a47269f8433f70502abe98
Patch
https://git.kernel.org/stable/c/0c3e6288da650d1ec911a259c77bc2d88e498603
Patch
https://git.kernel.org/stable/c/cdf01c807e974048c43c7fd3ca574f6086a57906
Patch
https://git.kernel.org/stable/c/2de8eec8afb75792440b8900a01d52b8f6742fd1
Patch
https://git.kernel.org/stable/c/7480aeff0093d8c54377553ec6b31110bea37b4d
Patch
https://git.kernel.org/stable/c/8cf0a1bc12870d148ae830a4ba88cfdf0e879cee
Patch