Skip to content

Supermicro BMC/firmware update signing flaws

Supermicro BMC firmware image authentication'ındaki tasarım kusurları, bir saldırganın signed region'ları yeniden map'lemesine izin verir; böylece kötü niyetli bir update signature verification'ı geçer ve OS'in altında kalıcı olur.

Mechanism

Note

Bir Baseboard Management Controller (BMC), host OS'inden ve hatta host power state'inden bağımsız olarak kendi firmware'ini çalıştıran always-on bir yardımcı işlemcidir. Update path'inin signature verification ile korunması beklenir: yalnızca vendor tarafından imzalanmış firmware image'ları flash'lanmalıdır.

Açıklanan Supermicro kusurları, verify edilen byte'ların execute edilen byte'lar olduğu invariant'ını kırar. BMC firmware authentication logic'i, her firmware region'ının offset'ini, size'ını, attribute'larını ve signature durumunu beyan eden bir descriptor table'a (fwmap olarak anılır ve ilgili bir sig_table) dayanır. Verifier, signature'a karşı kontrol ettiği digest için hangi region'ları hash'leyeceğine karar vermek üzere bu table'ı walk eder.

Saldırgan table'ı kontrol ettiği için, layout hakkında yalan söyleyebilir: signed region'ları hash'lenecek tek bir contiguous block'a yeniden map'leyen, gerçek (legitimate) bootloader byte'larını başka bir yere taşıyan ve boot'ta gerçekten execute olan region'a saldırgan içeriği bırakan, crafted bir region-map entry inject eder. Hash, signed digest ile eşleşir, verification geçer, ama çalışan code saldırganın seçtiğidir. Bu, root-of-trust'ta klasik bir parse-then-trust / TOCTOU-tarzı karışıklıktır: verification'ı süren metadata'nın kendisi unauthenticated ve self-describing'dir.

Walkthrough

Üst düzey, kamuya açık Binarly araştırması ve raporlamasından (bir reçete olarak ele alma):

  1. CVE-2024-10237 — Orijinal image-authentication bypass'ı. Orijinalin önüne özel bir fwmap table entry'si inject ederek, bir saldırgan tüm signed region'ları hashing için tek bir contiguous block'a yeniden map'ler ve legitimate bootloader data'sını reserved space'e taşır, böylece modifiye edilmiş bir image yine de beklenen, signed digest'i üretir.
  2. CVE-2025-7937 — Patch bypass'ı. Binarly, Supermicro'nun ilk düzeltmesinin yetersiz olduğunu gösterdi: kontrollü bir offset'te kötü niyetli bir region map inject ederek ve firmware'in signature-lookup davranışını suistimal ederek, crafted image'lar yine de tüm offset ve attribute check'lerini geçti ve bootloader region'ını değiştirerek boot'ta yine arbitrary code'a izin verdi.
  3. CVE-2025-6198 — X13SEM-F sig_table implementation'ındaki ilgili kusur; burada OP-TEE secure environment içinde çalışan image-validation logic'i, Root of Trust'ı bypass etmek için suistimal edilebiliyordu.

Üçünün de net etkisi: kötü niyetli bir BMC firmware image'ı kabul edilir ve BMC seviyesinde kalıcı code execution, hem management controller'ın hem de dolaylı olarak host platform'unun kontrolünü verir.

Detection

  • Firmware measurement / attestation. BMC'nin measured firmware'ini (mevcutsa TPM/attested digest'ler ya da out-of-band dump'lar) known-good vendor baseline'larıyla karşılaştır. Saldırı layout'ta saklanır, dolayısıyla onu yakalayan şey, yalnızca BMC'nin signed olduğunu iddia ettiği region'lar değil, tam image'ın byte-for-byte karşılaştırmasıdır.
  • Region-map sanity check'leri. Defender'lar ve tooling, region descriptor'ları (fwmap/sig_table) overlapping region'lar, duplicate/out-of-order entry'ler ya da signed byte'ları execution'ın gerçekten gerçekleştiği yerden uzağa map'leyen region'lar içeren image'ları flag'lemelidir.
  • Update provenance ve integrity log'ları. BMC firmware update'lerini kim/ne ve nereden tetikledi audit et; alışılmadık bir management session'dan ya da host-tarafı bir path'ten gelen beklenmedik bir reflash güçlü bir sinyaldir.
  • Out-of-band scanning. Host OS BMC-resident tampering'i göremediği için, BMC image'larını bilinen bypass pattern'leri ve signature tutarsızlıkları açısından incelemek üzere firmware-scanning tooling'i (örn. Eclypsium/Binarly-tarzı analyzer'lar) kullan.

Mitigation

  • Supermicro'nun düzeltmelerini uygula — CVE-2024-10237, CVE-2025-7937 ve CVE-2025-6198 için; ilk patch'in eksik olduğunu unutma, dolayısıyla yalnızca orijinal 2024 düzeltmesinin değil, Eylül-2025 corrective update'lerinin de kurulduğundan emin ol.
  • BMC management surface'ini harden et. BMC/IPMI'yi özel bir management network'te izole et, erişimi güçlü/benzersiz credential'larla ve destekleniyorsa MFA ile kısıtla ve kötü niyetli bir update push'lamak için gereken foothold'u reddetmek üzere kullanılmayan remote interface'leri devre dışı bırak.
  • Hardware Root of Trust'ı zorunlu kıl — platform desteklediği yerde — ve gerçekten etkin olduğunu doğrula; CVE-2025-6198 özellikle bir Root-of-Trust bypass'ıyla ilgiliydi, dolayısıyla RoT tek başına gereklidir ama patch'lenmiş verifier olmadan yeterli değildir.
  • Bir firmware baseline'ı ve periyodik re-attestation oluştur ki tampered bir region map, BMC'nin kendi self-report'una güvenmek yerine external karşılaştırma ile tespit edilsin.

References