vboot: Add FIT_SIGNATURE_MAX_SIZE protection
authorTeddy Reed <teddy.reed@gmail.com>
Sat, 9 Jun 2018 15:38:05 +0000 (11:38 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 10 Jul 2018 20:55:58 +0000 (16:55 -0400)
commit72239fc85f3eda078547956608c063ab965e90e9
treec4184de3db8760dafc7086c02e989ad208b85304
parent894c3ad27fa940beb7fdc07d01dcfe81c03d0481
vboot: Add FIT_SIGNATURE_MAX_SIZE protection

This adds a new config value FIT_SIGNATURE_MAX_SIZE, which controls the
max size of a FIT header's totalsize field. The field is checked before
signature checks are applied to protect from reading past the intended
FIT regions.

This field is not part of the vboot signature so it should be sanity
checked. If the field is corrupted then the structure or string region
reads may have unintended behavior, such as reading from device memory.
A default value of 256MB is set and intended to support most max storage
sizes.

Suggested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Teddy Reed <teddy.reed@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Kconfig
common/image-sig.c
test/py/tests/test_vboot.py
tools/Makefile