CVE-2023-54232 in LinuxИнформация

Сводка

по VulDB • 14.06.2026

В ядре Linux устранена следующая уязвимость:

m68k: Принудительное возникновение ошибки шины 030 только если PC не находится в таблице исключений

Функция __get_kernel_nofault() копирует данные в режиме супервизора при принудительном создании журнала обратного вызова задачи (task backtrace) через /proc/sysrq_trigger. Это ожидаемо вызывает исключение ошибки шины, например, при разыменовании нулевого указателя во время логирования задачи ядра без связанной рабочей очереди (workqueue). Данная ошибка шины должна игнорироваться.

Наш обработчик ошибок шины 030 плохо приспособлен для работы с этим случаем:

Всегда, когда ssw указывает на доступ в режиме ядра при ошибке данных, мы даже не пытаемся обработать ошибку и вместо этого всегда отправляем сигнал SEGV (или вызываем панику). В результате проверка обработки исключений по адресу PC ошибки (скрытая внутри send_sig_fault(), который вызывается из do_page_fault() в конечном итоге) никогда не используется.

В отличие от этого, оба обработчика ошибок доступа 040 и 060 не заботятся о том, произошла ли ошибка при доступе в режиме супервизора, и вызывают do_page_fault() для таких случаев, тем самым учитывая таблицу исключений.

Добавлена проверка в bus_error030 для вызова do_page_fault(), если у нас есть запись для адреса PC ошибки в нашей таблице исключений.

Ранее я пытался исправить эту проблему в 2019 году, используя тестирование pagefault_disabled() (см. ссылку ниже) для достижения того же результата, но данный патч должен быть более универсальным.

Протестировано на Atari Falcon с процессором 030.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Ответственный

Linux

Резервировать

30.12.2025

Раскрытие

30.12.2025

Модерация

принято

Вход

VDB-338937

EPSS

0.00211

KEV

Нет

Деятельности

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!