{"id":"CVE-2023-53856","state":"PUBLISHED","title":"of: overlay: Call of_changeset_init() early","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nof: overlay: Call of_changeset_init() early\n\nWhen of_overlay_fdt_apply() fails, the changeset may be partially\napplied, and the caller is still expected to call of_overlay_remove() to\nclean up this partial state.\n\nHowever, of_overlay_apply() calls of_resolve_phandles() before\ninit_overlay_changeset().  Hence if the overlay fails to apply due to an\nunresolved symbol, the overlay_changeset.cset.entries list is still\nuninitialized, and cleanup will crash with a NULL-pointer dereference in\noverlay_removal_is_ok().\n\nFix this by moving the call to of_changeset_init() from\ninit_overlay_changeset() to of_overlay_fdt_apply(), where all other\nearly initialization is done.","publishedAt":"2025-12-09T01:30:22.012Z","updatedAt":"2026-05-11T19:52:50.630Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"01bb96ad38089f5cc6de7746dac13437d35eb1dc","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"3fb210cd521c9efcb211e9f5ce40fc907200bf13","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"be86241bf5d1efd16d8a7231c13b33459c5d755d","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"c403c81b577a67fe9ec6a2e89d143256487be50f","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"a9515ff4fb142b690a0d2b58782b15903b990dba","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/of/overlay.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.15","versionType":"semver"},{"version":"5.15.132","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.53","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.4.16","status":"unaffected","lessThanOrEqual":"6.4.*","versionType":"semver"},{"version":"6.5.3","status":"unaffected","lessThanOrEqual":"6.5.*","versionType":"semver"},{"version":"6.6","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/of/overlay.c"]}],"references":["https://git.kernel.org/stable/c/01bb96ad38089f5cc6de7746dac13437d35eb1dc","https://git.kernel.org/stable/c/3fb210cd521c9efcb211e9f5ce40fc907200bf13","https://git.kernel.org/stable/c/be86241bf5d1efd16d8a7231c13b33459c5d755d","https://git.kernel.org/stable/c/c403c81b577a67fe9ec6a2e89d143256487be50f","https://git.kernel.org/stable/c/a9515ff4fb142b690a0d2b58782b15903b990dba"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/53xxx/CVE-2023-53856.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53856","state":"PUBLISHED","datePublished":"2025-12-09T01:30:22.012Z","dateUpdated":"2026-05-11T19:52:50.630Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-09T01:27:17.828Z"},"containers":{"cna":{"title":"of: overlay: Call of_changeset_init() early","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nof: overlay: Call of_changeset_init() early\n\nWhen of_overlay_fdt_apply() fails, the changeset may be partially\napplied, and the caller is still expected to call of_overlay_remove() to\nclean up this partial state.\n\nHowever, of_overlay_apply() calls of_resolve_phandles() before\ninit_overlay_changeset().  Hence if the overlay fails to apply due to an\nunresolved symbol, the overlay_changeset.cset.entries list is still\nuninitialized, and cleanup will crash with a NULL-pointer dereference in\noverlay_removal_is_ok().\n\nFix this by moving the call to of_changeset_init() from\ninit_overlay_changeset() to of_overlay_fdt_apply(), where all other\nearly initialization is done."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"01bb96ad38089f5cc6de7746dac13437d35eb1dc","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"3fb210cd521c9efcb211e9f5ce40fc907200bf13","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"be86241bf5d1efd16d8a7231c13b33459c5d755d","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"c403c81b577a67fe9ec6a2e89d143256487be50f","versionType":"git"},{"version":"f948d6d8b792bb90041edc12eac35faf83030994","status":"affected","lessThan":"a9515ff4fb142b690a0d2b58782b15903b990dba","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/of/overlay.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.15","versionType":"semver"},{"version":"5.15.132","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.53","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.4.16","status":"unaffected","lessThanOrEqual":"6.4.*","versionType":"semver"},{"version":"6.5.3","status":"unaffected","lessThanOrEqual":"6.5.*","versionType":"semver"},{"version":"6.6","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/of/overlay.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/01bb96ad38089f5cc6de7746dac13437d35eb1dc"},{"url":"https://git.kernel.org/stable/c/3fb210cd521c9efcb211e9f5ce40fc907200bf13"},{"url":"https://git.kernel.org/stable/c/be86241bf5d1efd16d8a7231c13b33459c5d755d"},{"url":"https://git.kernel.org/stable/c/c403c81b577a67fe9ec6a2e89d143256487be50f"},{"url":"https://git.kernel.org/stable/c/a9515ff4fb142b690a0d2b58782b15903b990dba"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:52:50.630Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"5.15.132"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.1.53"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.4.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.5.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.6"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}