Драйвер NetBSD hdaudio(4) в sys/dev/hdaudio/hdaudio.c содержит недостающую уязвимость контроля доступа, которая позволяет непривилегированным локальным злоумышленникам вызывать ioctl HDAUDIO_FGRP_SETCONFIG без повышенных разрешений, используя отсутствие проверки доступа на узлах устройств /dev/hdaudioN. Злоумышленники могут неоднократно выдавать HDAUDIO_FGRP_SETCONFIG из одного потока, сохраняя при этом DMA и IRQ из второго потока, чтобы вызвать состояние гонки use-after-free в hdafg_detach() междуstream_stop() иstream_disinstall(), где захваченное прерывание DMA разыменовывает освобожденный указатель обратного вызова, что приводит к различным последствиям: от отказа в обслуживании аудиоподсистемы и паники ядра до потенциального локального повышения привилегий ядра.
Показать оригинальное описание (EN)
NetBSD's hdaudio(4) driver in sys/dev/hdaudio/hdaudio.c contains a missing access control vulnerability that allows unprivileged local attackers to invoke the HDAUDIO_FGRP_SETCONFIG ioctl without elevated permissions by exploiting the absence of an access check on /dev/hdaudioN device nodes. Attackers can repeatedly issue HDAUDIO_FGRP_SETCONFIG from one thread while keeping DMA and IRQs live from a second thread to trigger a use-after-free race condition in hdafg_detach() between stream_stop() and stream_disestablish(), where a latched DMA interrupt dereferences a freed callback pointer, resulting in outcomes ranging from audio-subsystem denial of service and kernel panic to potential local kernel privilege escalation.
Характеристики атаки
Последствия
Строка CVSS v4.0