Quoting Hung-Te Lin (2019-08-29 19:23:58) > The VPD implementation from Chromium Vital Product Data project used to > parse data from untrusted input without checking if the meta data is > invalid or corrupted. For example, the size from decoded content may > be negative value, or larger than whole input buffer. Such invalid data > may cause buffer overflow. > > To fix that, the size parameters passed to vpd_decode functions should > be changed to unsigned integer (u32) type, and the parsing of entry > header should be refactored so every size field is correctly verified > before starting to decode. > > Fixes: ad2ac9d5c5e0 ("firmware: Google VPD: import lib_vpd source files") > Signed-off-by: Hung-Te Lin <hun...@chromium.org>
Reviewed-by: Stephen Boyd <swb...@chromium.org>