CVE-2023-53856

Summary

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

of: overlay: Call of_changeset_init() early

When of_overlay_fdt_apply() fails, the changeset may be partially applied, and the caller is still expected to call of_overlay_remove() to clean up this partial state.

However, of_overlay_apply() calls of_resolve_phandles() before init_overlay_changeset(). Hence if the overlay fails to apply due to an unresolved symbol, the overlay_changeset.cset.entries list is still uninitialized, and cleanup will crash with a NULL-pointer dereference in overlay_removal_is_ok().

Fix this by moving the call to of_changeset_init() from init_overlay_changeset() to of_overlay_fdt_apply(), where all other early initialization is done.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf948d6d8b792bb90041edc12eac35faf83030994 < 01bb96ad38089f5cc6de7746dac13437d35eb1dcaffected
LinuxLinuxf948d6d8b792bb90041edc12eac35faf83030994 < 3fb210cd521c9efcb211e9f5ce40fc907200bf13affected
LinuxLinuxf948d6d8b792bb90041edc12eac35faf83030994 < be86241bf5d1efd16d8a7231c13b33459c5d755daffected
LinuxLinuxf948d6d8b792bb90041edc12eac35faf83030994 < c403c81b577a67fe9ec6a2e89d143256487be50faffected
LinuxLinuxf948d6d8b792bb90041edc12eac35faf83030994 < a9515ff4fb142b690a0d2b58782b15903b990dbaaffected
LinuxLinux4.15affected
LinuxLinux0 < 4.15unaffected
LinuxLinux5.15.132 <= 5.15.*unaffected
LinuxLinux6.1.53 <= 6.1.*unaffected
LinuxLinux6.4.16 <= 6.4.*unaffected
LinuxLinux6.5.3 <= 6.5.*unaffected
LinuxLinux6.6 <= *unaffected

Weaknesses

References