CVE-2024-56549

Summary

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

cachefiles: Fix NULL pointer dereference in object->file

At present, the object->file has the NULL pointer dereference problem in ondemand-mode. The root cause is that the allocated fd and object->file lifetime are inconsistent, and the user-space invocation to anon_fd uses object->file. Following is the process that triggers the issue:

  [write fd]				[umount]

cachefiles_ondemand_fd_write_iter fscache_cookie_state_machine cachefiles_withdraw_cookie if (!file) return -ENOBUFS cachefiles_clean_up_object cachefiles_unmark_inode_in_use fput(object->file) object->file = NULL // file NULL pointer dereference! __cachefiles_write(…, file, …)

Fix this issue by add an additional reference count to the object->file before write/llseek, and decrement after it finished.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc8383054506c77b814489c09877b5db83fd4abf2 < d6bba3ece960129a553d4b16f1b00c884dc0993aaffected
LinuxLinuxc8383054506c77b814489c09877b5db83fd4abf2 < 785408bbafcfa24c9fc5b251f03fd0780ce182bdaffected
LinuxLinuxc8383054506c77b814489c09877b5db83fd4abf2 < f98770440c9bc468e2fd878212ec9526dbe08293affected
LinuxLinuxc8383054506c77b814489c09877b5db83fd4abf2 < 9582c7664103c9043e80a78f5c382aa6bdd67418affected
LinuxLinuxc8383054506c77b814489c09877b5db83fd4abf2 < 31ad74b20227ce6b40910ff78b1c604e42975cf1affected
LinuxLinux5.19affected
LinuxLinux0 < 5.19unaffected
LinuxLinux6.1.129 <= 6.1.*unaffected
LinuxLinux6.6.78 <= 6.6.*unaffected
LinuxLinux6.11.11 <= 6.11.*unaffected
LinuxLinux6.12.2 <= 6.12.*unaffected
LinuxLinux6.13 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

References