Linux: cachefiles: Fix potential UAF/KASAN warning
What fixes it
- 68d459e6e609c31f96a203dd6eec60c634f155e1LinuxCVE List
- 93488ea378b4427598cace558236c110515d743bLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
cachefiles: Fix potential UAF/KASAN warning
Currently, trace_cachefiles_coherency() is being passed a pointer to a __be64 lain over the coherency data in struct cachefiles_xattr so that it can display the first 8 bytes. However, the data is of variable length and could even be 0 bytes. This could lead to a UAF or KASAN warning.
Fix this by making sure the buffer has room for at least 8 bytes and that those 8 bytes are pre-cleared.
Further, those bytes are not 8-byte aligned, so fix the tracepoint to extract the data as four 2-byte words (they are 2-byte aligned) and reassemble the __be64. The compiler will convert this into a single 8-byte load where the CPU supports it.
Text from CVE List
Affected versions 8
- Linuxaffected: 229105e5cfd9832a9ef1368c96e0098ec3a5fbf0 before 68d459e6e609c31f96a203dd6eec60c634f155e1CVE List
- Linuxaffected: 229105e5cfd9832a9ef1368c96e0098ec3a5fbf0 before 93488ea378b4427598cace558236c110515d743bCVE List
- Linuxaffected: 229105e5cfd9832a9ef1368c96e0098ec3a5fbf0 before a67632c8c2688d6e0091529bcefe54bc5ee80e9bCVE List
- Linuxaffected: 6.14CVE List
- Linuxunaffected: all versions before 6.14CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List