CRITICAL🇬🇧 English

CVE-2022-1053

Keylime: obejście weryfikacji TPM przez podmianę klucza AK

CVSS 9.1v3.1pub. 2022-05-06upd. 2024-11-21

Podatność w Keylime pozwala atakującemu na obejście mechanizmu weryfikacji integralności opartego na TPM poprzez podmianę klucza poświadczenia (AK) na klucz pochodzący z programowego TPM. Jest to krytyczne zagrożenie, ponieważ całkowicie łamie łańcuch zaufania, na którym opiera się platforma Keylime.

Pokaż oryginał (EN)

Keylime does not enforce that the agent registrar data is the same when the tenant uses it for validation of the EK and identity quote and the verifier for validating the integrity quote. This allows an attacker to use one AK, EK pair from a real TPM to pass EK validation and give the verifier an AK of a software TPM. A successful attack breaks the entire chain of trust because a not validated AK is used by the verifier. This issue is worse if the validation happens first and then the agent gets added to the verifier because the timing is easier and the verifier does not validate the regcount entry being equal to 1,

🤖 Analiza AI
Jak działa

Keylime nie wymusza spójności danych rejestracji agenta między etapem walidacji EK i identity quote (wykonywanej przez tenant) a etapem walidacji integrity quote (wykonywanej przez verifier). Atakujący może wykorzystać prawdziwą parę kluczy AK/EK z fizycznego TPM, aby pomyślnie przejść walidację EK, a następnie podstawić verifierowi klucz AK pochodzący z programowego (niezaufanego) TPM. Atak jest szczególnie łatwy do przeprowadzenia, gdy walidacja następuje przed dodaniem agenta do verifier, ponieważ verifier nie sprawdza wówczas, czy pole regcount wynosi dokładnie 1.

Skutki

Atakujący może skutecznie podszyć się pod zaufanego agenta, omijając mechanizmy weryfikacji integralności platformy, co całkowicie kompromituje łańcuch zaufania (chain of trust) i pozwala na działanie niezaufanego środowiska bez wykrycia przez system Keylime.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka została opublikowana w repozytorium GitHub Keylime (commit bd5de712acdd77860e7dc58969181e16c7a8dc5d). Użytkownicy Fedora powinni zaktualizować pakiet Keylime zgodnie z komunikatami opublikowanymi na listach Fedora Project.

Kogo dotyczy

Keylime (wersje wskazane w referencjach producenta) oraz Fedora (pakiety Keylime dostępne w repozytoriach Fedora Project — szczegółowe wersje wskazane w referencjach producenta).

Uwagi

Podatność zgłoszona poprzez Red Hat Bugzilla (bug #2065024) oraz opublikowana jako advisory GitHub Security (GHSA-jf66-3q76-h5p5). Dotyczy fundamentalnego mechanizmu weryfikacji opartego na TPM — środowiska korzystające z Keylime do attestacji sprzętowej powinny potraktować aktualizację priorytetowo.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
  • Fedora Project Fedora

    OS
    Fedoraproject
    343536
  • Keylime

    APP
    Keylime
    < 6.4.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2024-4577CRITICAL9.8⚠ KEVPL ✓ten sam produkt

PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit

CVE-2024-5274CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML

CVE-2024-4947CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)

CVE-2024-4671CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox

CVE-2023-6345CRITICAL9.6⚠ KEVPL ✓ten sam produkt

Integer overflow w Skia w Google Chrome — sandbox escape