Skip to content

LogoFAIL additional parser CVEs (CVE-2023-39538, CVE-2023-39539)

LogoFAIL'in AMI-firmware örnekleri: AMI AptioV'de CVE-2023-39538 (crafted BMP logo) ve CVE-2023-39539 (crafted PNG logo); kullanıcının sağladığı bir logo image'ının yetersiz doğrulanması, yerel bir saldırganın ayrıcalıklı DXE-phase image parser'a ulaşmasına ve firmware'i bozmasına izin verir, bu da OS'in altında arbitrary code execution'a yol açar.

Mechanism

Note

AMI AptioV (TianoCore EDK II üzerine kurulu), early boot sırasında DXE-phase image parser'lar kullanarak bir üretici logosu render eder. Kırılan trust boundary, LogoFAIL sınıfının geri kalanıyla aynıdır: bir logo image'ı — etkilenen platformlarda saldırganın etkileyebileceği — Secure Boot execution'ı yönetmeden önce ayrıcalıklı firmware tarafından parse edilir ve Secure Boot logoyu ölçmez/doğrulamaz.

Başarısız olan değişmez, yüklenen logo üzerindeki input validation / type kısıtlamasıdır. İki AMI CVE'si dosya-formatına özgü örneklerdir:

  • CVE-2023-39538 — kötü niyetli bir BMP logosu. Firmware, BMP yapısını/header'larını/içeriğini yeterince doğrulamaz ve dosyayı kabul eder (CWE-20 improper input validation, CWE-434 tehlikeli tipte unrestricted file upload).
  • CVE-2023-39539 — kötü niyetli bir PNG logosu, PNG parser için aynı sınıf.

Her ikisinde de, beyan edilen boyutları/chunk metadata'sı payload'ıyla tutarsız olan bir logo, DXE-phase decoder'da bir out-of-bounds access / heap overflow sürükler. Decoder ayrıcalıklı olduğundan, sonuç firmware code execution'dır — OS'in altında kalıcı ve yeniden kuruluma rağmen hayatta kalan.

Walkthrough

Genel AMI/LogoFAIL advisory'lerinden kavramsal yeniden üretim; parser iç ayrıntıları yalnızca örneklemedir.

Logoyu yerleştirme. Authenticated/yerel bir saldırgan, platformun logo mekanizması üzerinden crafted bir logo sağlar (CVE'ler "failure when uploading a Logo image file" olarak tanımlanır). CVE-2023-39538 bir BMP kullanır; CVE-2023-39539 bir PNG kullanır.

Parser'ı tetikleme. Boot'ta, AptioV'nin DXE image parser'ı crafted dosyayı tüketir ve eksik doğrulama, decode'un sınırlarından kaçmasına izin verir:

Conceptual shape of the AMI parser validation failure

CVE-2023-39538 (AMI AptioV, BMP):
  unrestricted upload + insufficient validation of BMP structure/headers
  -> DXE-phase BMP decode reads/writes out of bounds.

CVE-2023-39539 (AMI AptioV, PNG):
  same class for the PNG parser -> out-of-bounds / heap overflow on a
  crafted PNG during boot-logo rendering.

Both: CWE-20 (improper input validation) + CWE-434 (dangerous-type upload),
escalating to arbitrary code execution at firmware level.
Kesin decoder fonksiyonu/offset'i açık advisory'lerde yayımlanmamıştır; genel materyal format'ı (BMP / PNG), weakness sınıflarını ve etkiyi (firmware ACE) verir.

Etki. Boot sırasında firmware seviyesinde arbitrary code execution — Insyde BMP örneği ve Phoenix örneği ile aynı OS-altı implant sonucu.

Warning

Patch'lenmiş sorunlar; implant zinciri kasıtlı olarak atlanmıştır. Açık advisory'ler kesin parser/offset'i adlandırmadığı için, buradaki parser-içi ayrıntılar kavramsaldır.

Detection

  • Firmware integrity attestation: kurcalanmış bir logo, ölçülen DXE durumunu değiştirir — TPM PCR'larını izle ve bir firmware-integrity tarayıcısı çalıştır.
  • Logo store'a / korumasız firmware volume'larına yetkisiz yazmaları ve beklenmedik logo-upload etkinliğini izle.

Mitigation

  • CVE-2023-39538 ve CVE-2023-39539 için AMI AptioV firmware güncellemelerini (koordineli LogoFAIL açıklaması, Aralık 2023) ve onların üzerine kurulu OEM BIOS'unu uygula.
  • SPI flash write protection'ı zorunlu kıl ve logoyu signature kapsamındaki bölgede tut (bkz. SPI flash BIOS write-protection misconfig).
  • Özel boot-logo upload'ını kısıtla/devre dışı bırak; Secure Boot ve capsule signing'in etkin olduğunu doğrula.

References