]> git.dujemihanovic.xyz Git - u-boot.git/commit
fdt_region: Check for a single root node of the correct name
authorSimon Glass <sjg@chromium.org>
Tue, 16 Feb 2021 00:08:05 +0000 (17:08 -0700)
committerTom Rini <trini@konsulko.com>
Tue, 16 Feb 2021 00:17:18 +0000 (19:17 -0500)
commit8a7d4cf9820ea16fabd25a6379351b4dc291204b
tree4e415095b42ce8fd845767e1326d27e7cdbc66e8
parent6144438fb5c9059dc87cf219bed0c992f70b3509
fdt_region: Check for a single root node of the correct name

At present fdt_find_regions() assumes that the FIT is a valid devicetree.
If the FIT has two root nodes this is currently not detected in this
function, nor does libfdt's fdt_check_full() notice. Also it is possible
for the root node to have a name even though it should not.

Add checks for these and return -FDT_ERR_BADSTRUCTURE if a problem is
detected.

CVE-2021-27097

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Bruce Monroe <bruce.monroe@intel.com>
Reported-by: Arie Haenel <arie.haenel@intel.com>
Reported-by: Julien Lenoir <julien.lenoir@intel.com>
common/fdt_region.c