CVE-2022-50577

Summary

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

ima: Fix memory leak in __ima_inode_hash()

Commit f3cc6b25dcc5 ("ima: always measure and audit files in policy") lets measurement or audit happen even if the file digest cannot be calculated.

As a result, iint->ima_hash could have been allocated despite ima_collect_measurement() returning an error.

Since ima_hash belongs to a temporary inode metadata structure, declared at the beginning of __ima_inode_hash(), just add a kfree() call if ima_collect_measurement() returns an error different from -ENOMEM (in that case, ima_hash should not have been allocated).

Affected Software

VendorProductVersion RangeStatus
LinuxLinux280fe8367b0dc45b6ac5e04fad03e16e99540c0c < c4df8cb38f139ed9f4296868c0a6f15a26e8c491affected
LinuxLinux280fe8367b0dc45b6ac5e04fad03e16e99540c0c < f375bcf69f58fd0744c9dfd1b6b891a27301d67baffected
LinuxLinux280fe8367b0dc45b6ac5e04fad03e16e99540c0c < 8c1d6a050a0f16e0a9d32eaf53b965c77279c6f8affected
LinuxLinux5.18affected
LinuxLinux0 < 5.18unaffected
LinuxLinux6.0.18 <= 6.0.*unaffected
LinuxLinux6.1.4 <= 6.1.*unaffected
LinuxLinux6.2 <= *unaffected

Weaknesses

References