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]
2025-05-01T15:16:14.000
2025-10-01T17:15:37.153
Modified
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSSv3.1: 5.5 (MEDIUM)
| Type | Vendor | Product | Version/Range | Vulnerable? |
|---|---|---|---|---|
| Operating System | linux | linux_kernel | < 4.14.299 | Yes |
| Operating System | linux | linux_kernel | < 4.19.265 | Yes |
| Operating System | linux | linux_kernel | < 5.4.224 | Yes |
| Operating System | linux | linux_kernel | < 5.10.154 | Yes |
| Operating System | linux | linux_kernel | < 5.15.78 | Yes |
| Operating System | linux | linux_kernel | < 6.0.8 | Yes |
| Operating System | linux | linux_kernel | 6.1 | Yes |
| Operating System | linux | linux_kernel | 6.1 | Yes |
| Operating System | linux | linux_kernel | 6.1 | Yes |