CVE-2024-50196 in LinuxИнформация

Сводка

по VulDB • 06.08.2026

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

pinctrl: ocelot: исправление зависания системы при прерываниях, основанных на уровне сигнала

Текущая реализация вызывает функции chained_irq_enter() и chained_irq_exit() только в том случае, если обнаружены ожидающие (pending) прерывания.

``` for (i = 0; i stride; i++) {
uregmap_read(info->map, id_reg + 4 * i, ®); if (!reg) continue;

chained_irq_enter(parent_chip, desc); ```

Однако в случае, когда вывод GPIO настроен в режиме уровня сигнала (level mode), а родительский контроллер — в режиме фронта/спадания импульса (edge mode), аппаратное обеспечение может сбросить сигнал прерывания GPIO. В результате, если прерывание достаточно короткое, прерывание родителя остается ожидающим (pending), тогда как прерывание GPIO уже очищено; функция chained_irq_enter() никогда не вызывается, и система зависает при попытке обработать прерывание родителя.

Вынос функций chained_irq_enter() и chained_irq_exit() за пределы цикла for гарантирует их вызов даже в том случае, если аппаратное обеспечение сбрасывает сигнал прерывания GPIO.

Аналогичный код с функциями chained_irq_enter()/chained_irq_exit(), оборачивающими цикл проверки прерываний, можно найти во многих других драйверах: ``` grep -r -A 10 chained_irq_enter drivers/pinctrl ```

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

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

Linux

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

21.10.2024

Раскрытие

08.11.2024

Модерация

принято

Вход

VDB-283529

EPSS

0.00207

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!