Путь проверки флэш-загрузки загрузочного ПЗУ SoC Ingenic T31 сравнивает только одно 32-битное слово вывода подписи RSA с одним 32-битным словом дайджеста полезной нагрузки SHA-256, а не сравнивает полные данные. Это позволяет злоумышленнику, имеющему физический доступ для записи на загрузочный носитель, подделывать модифицированные образы SPL (вторичного загрузчика программ), которые проходят проверку безопасной загрузки, не обладая ключом подписи OEM. Каждая попытка подделки успешна с вероятностью примерно 2/3.
Это было подтверждено с помощью обратного проектирования, программной эмуляции изображений, подписанных поставщиком, и сквозного аппаратного принятия поддельного образа прошивки на видеодомофоне Wyze v2 (T31X).
Показать оригинальное описание (EN)
The Ingenic T31 SoC boot ROM flash-boot verification path compares only a single 32-bit word of the RSA signature output against a single 32-bit word of the SHA-256 payload digest, rather than compare the full data. This allows an attacker with physical write access to boot media to forge modified SPL (Secondary Program Loader) images that pass secure boot verification without possession of the OEM signing key. Each forgery attempt succeeds with approximately 2/3 probability. This has been validated via reverse engineering, software emulation against vendor-signed images, and end-to-end hardware acceptance of a forged firmware image on a Wyze Video Doorbell v2 (T31X).