CVE-2023-33107

Qualcomm Multiple Chipsets

ВЕРОЯТНОСТЬ 0.3%

Дата обнаружения

2023-12-05

Официальное описание

Multiple Qualcomm chipsets contain an integer overflow vulnerability due to memory corruption in Graphics Linux while assigning shared virtual memory region during IOCTL call.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2023-33107 представляет собой критическую уязвимость типа «целочисленное переполнение» (Integer Overflow), приводящую к повреждению памяти (Memory Corruption) в графическом драйвере Qualcomm для ОС Linux. Проблема возникает в процессе обработки системного вызова IOCTL при попытке выделения или назначения общей области виртуальной памяти (Shared Virtual Memory).

Злоумышленник с локальным доступом к системе может использовать специально сформированный запрос IOCTL, чтобы вызвать переполнение при расчете размера буфера. Это позволяет выйти за пределы выделенной памяти, что ведет к выполнению произвольного кода с привилегиями ядра или к отказу в обслуживании (DoS). Уязвимость эксплуатировалась в ограниченных целевых атаках.

Как исправить

Основным способом устранения является обновление прошивки устройства и ядра системы до версии, содержащей официальный патч от Qualcomm.

  1. Для конечных пользователей Android-устройств: Проверьте наличие обновлений системы безопасности. Исправление включено в бюллетень по безопасности Android от октября/ноября 2023 года.
settings list global | grep "ota"

  1. Для разработчиков встраиваемых систем (Embedded Linux): Необходимо обновить драйвер графической подсистемы (Adreno/KGSL) в дереве исходного кода ядра. Убедитесь, что применены патчи, добавляющие проверку границ (bounds checking) при расчете размера виртуальной памяти.

  2. Обновление пакетов в дистрибутивах (если применимо):

apt-get update && apt-get upgrade

  1. Проверка версии установленного микрокода/прошивки (для отладочных плат):
cat /sys/class/kgsl/kgsl-3d0/devide_id

Временные меры

Если немедленное обновление невозможно, рекомендуется принять следующие меры для снижения риска эксплуатации:

  1. Ограничение доступа к графическим узлам: Минимизируйте количество приложений и пользователей, имеющих права на чтение/запись в файлы устройств GPU (например, /dev/kgsl-3d0).
chmod 660 /dev/kgsl-3d0

  1. Использование механизмов изоляции: Запускайте недоверенные приложения в изолированных контейнерах или песочницах (Sandbox) с ограниченным доступом к аппаратным ресурсам и системным вызовам (seccomp-bpf).

  2. Мониторинг системных вызовов: Настройте аудит системы для отслеживания аномальных или повторяющихся ошибок сегментации в процессах, взаимодействующих с графическим драйвером.

dmesg | grep -i "kgsl"

  1. Отключение неиспользуемых функций SVM: Если архитектура приложения позволяет, временно отключите использование Shared Virtual Memory в конфигурации графического стека.