Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2022-22063 — Проблема безопасности в прошивке гипервизора некоторых старых чипсетов Qualcomm | Kitploit
Инструменты/GitHubGitHub/msm8916-mainline/cve-2022-22063
Безопасность встроенных системПовышение привилегийАнализ уязвимостейЭксплуатацияАппаратная БезопасностьСтатьи и ИсследованияОбучение и ОбразованиеАнализ ПрошивокЭксплуатация Бинарных Файлов
GitHubmsm8916-mainline/cve-2022-22063

CVE-2022-22063

Проблема безопасности в прошивке гипервизора некоторых старых чипсетов Qualcomm

473133 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

CVE-2022-22063

CVE-2022-22063 — это проблема безопасности в гипервизорной прошивке некоторых старых чипсетов Qualcomm. Незащищенный аппаратный компонент (так называемый «boot remapper») может быть использован для получения полного доступа на чтение/запись к гипервизору из модифицированной операционной системы (повышение привилегий). Эксплуатация проблемы тривиальна на затронутых платформах, поскольку не требуется знание конкретной версии прошивки (например, адресов или переменных).

Примечание: Хотя Qualcomm предоставила исправления клиентам (с достаточным временем для выпуска обновлений), многие затронутые устройства уже довольно стары и могут не получить исправление от вендора. Проблема может быть использована только из модифицированной или скомпрометированной операционной системы (с использованием другой проблемы безопасности). Поддержание операционной системы в актуальном и безопасном состоянии может быть достаточным, даже если прошивка уязвима.

Обзор

  • Идентификатор CVE: CVE-2022-22063
  • Рейтинг безопасности (Qualcomm): Критический
  • Common Vulnerability Scoring System: 8.4 (Высокий), CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Common Weakness Enumeration: CWE-1257: Некорректный контроль доступа, применяемый к зеркальным или псевдонимическим областям памяти и/или CWE-1262: Некорректный контроль доступа для интерфейса регистров, Qualcomm классифицирует проблему в целом как CWE-16: Конфигурация.

Проблема также была опубликована в Бюллетене безопасности Qualcomm за декабрь 2022 года.

Требования

Проблема зависит от комбинации аппаратного и программного обеспечения на затронутой цели:

  1. Программное обеспечение: Устройство работает под управлением отдельной прошивки гипервизора от Qualcomm (обычно образ ELF в разделе hyp на внутреннем накопителе).
  2. Аппаратное обеспечение: Существует небезопасная версия boot remapper (обычно настраиваемая с помощью аппаратного регистра APCS_BOOT_START_ADDR_NSEC), которая не защищена гипервизором и поэтому доступна для менее привилегированного ядра операционной системы (например, Linux).

Существует несколько других чипсетов, которые, вероятно, имеют затронутое оборудование (например, MSM8909 и MSM8953), но у них нет отдельной прошивки гипервизора, которую можно было бы скомпрометировать.

Воздействие

  • Повышение привилегий: При уже скомпрометированном ядре операционной системы (например, Linux) проблема позволяет тривиально повысить привилегии до уровня гипервизора (EL1 -> EL2 на ARM). Вся память, управляемая гипервизором, может быть прочитана или записана. Это нарушает изоляцию различных доменов безопасности или виртуальных машин, управляемых гипервизором (если они есть, в зависимости от конфигурации).
    (См. также: An introduction to Access Control on Qualcomm Snapdragon Platforms)

  • Безопасная загрузка: Большинство устройств Qualcomm, доступных в производстве, используют безопасную загрузку для предотвращения несанкционированной модификации прошивки. Прошивка криптографически подписана и проверяется цепочкой загрузки. Проблема позволяет модифицировать или даже полностью заменить загруженную прошивку гипервизора во время выполнения из модифицированной операционной системы (либо через официально поддерживаемую «разблокировку загрузчика», либо через другой эксплойт).
    (См. также: Qualcomm Secure Boot and Image Authentication Technical Overview (v1.0) и (v2.0))

Технические сведения

Примечание: Проблема была изначально обнаружена на платформе Qualcomm Snapdragon 410 (MSM8916). Некоторые из следующих объяснений могут быть специфичны для MSM8916, например:

  • Конкретные адреса памяти
  • 64-битная ARM/AArch64 конструкция прошивки (некоторые затронутые платформы поддерживают только 32-битную ARM/AArch32)

Однако общая концепция применима аналогично ко всем затронутым платформам.

Гипервизор

Архитектура ARMv8-A 64-bit определяет 4 уровня привилегий (exception levels, EL). Существуют отдельные уровни, которые обычно используются для приложений, ядер операционных систем и гипервизора:

Уровни исключений AArch64

ЦП переключается между уровнями во время исключений, например, из-за входящего прерывания. Также возможно переключение между некоторыми уровнями с помощью специальных инструкций, таких как Hypervisor Call (hvc).
(См. также: AArch64 Exception model)

Гипервизор может размещать одну или несколько виртуальных машин с отдельными ядрами операционных систем. Каждой виртуальной машине может быть предоставлено собственное представление памяти с помощью трансляции второго уровня (stage 2 translation). Все обращения к памяти из виртуальной машины проходят через два этапа трансляции: первый управляется (виртуальной) операционной системой, а второй — гипервизором. Память, используемая гипервизором или другими виртуальными машинами, может быть скрыта путем ее исключения из таблиц трансляции.
(См. также: AArch64 virtualization, AArch64 memory management)

Прошивка гипервизора Qualcomm работает в EL2 и использует трансляцию второго уровня для запрета доступа к памяти гипервизора из основного ядра операционной системы, работающего в EL1 (обычно Linux). Обратите внимание, что в этой конфигурации трансляция второго уровня в основном используется для защиты памяти, без трансляции адресов. Основная операционная система получает прямой доступ к большинству аппаратных компонентов в пространстве memory-mapped input/output (MMIO), например, к контроллеру SD или подсистеме камеры. Доступ к памяти, принадлежащей гипервизору/EL2 (hyp) и монитору безопасности/EL3 (часть tz), ограничен:

Защита памяти гипервизора Qualcomm (с использованием трансляции второго уровня)

Boot Remapper

Boot remapper не связан с виртуализацией: он необходим во время начальной загрузки ядра ЦП. На этой аппаратной платформе ядра ЦП всегда начинают выполнение с адреса 0x0. Boot remapper — это дополнительный аппаратный компонент, встроенный вокруг ЦП, который перенаправляет первые 64 или 128 КиБ (0x00000 - 0x20000) в настраиваемую область памяти.

По умолчанию boot remapper указывает на загрузочное ПЗУ (первый код, который выполняется при включении устройства). Позже отображение изменяется так, чтобы другие ядра ЦП сразу начинали выполнение в прошивке EL3 (часть tz), загруженной в ОЗУ:

Boot Remapper

Обратите внимание, что адрес, к которому обращается ЦП (внутри tz), доступен по двум разным физическим адресам: реальному адресу в ОЗУ (0x8650xxxx) и перенаправленному адресу через boot remapper (0x0000xxxx).

На самом деле существуют два отдельных экземпляра boot remapper:

Скачать инструмент