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

Сводка

по VulDB • 30.05.2026

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

powerpc/pseries: Обеспечение корректности и размера буфера результатов hcall

Функции plpar_hcall(), plpar_hcall9() и связанные с ними функции ожидают, что вызывающие стороны предоставят корректные буферы результатов определенного минимального размера. В настоящее время это указывается только в комментариях в коде, и компилятор не учитывает это.

Например, если написать ошибку следующего вида:

long retbuf[PLPAR_HCALL_BUFSIZE]; // должно быть PLPAR_HCALL9_BUFSIZE
plpar_hcall9(H_ALLOCATE_VAS_WINDOW, retbuf, ...);

Этот код компилируется без выдачи диагностических сообщений, но, вероятно, приводит к повреждению стека во время выполнения, когда plpar_hcall9() записывает результаты за пределы массива. (Для ясности: это искусственный пример, и реального случая пока не обнаружено.)

Чтобы сделать этот класс ошибок менее вероятным, можно использовать параметры массивов с явно заданным размером вместо указателей в объявлениях API hcall. При компиляции с флагом -Warray-bounds[1] приведенный выше код теперь вызывает диагностическое сообщение следующего вида:

error: array argument is too small; is of size 32, callee requires at least 72 [-Werror,-Warray-bounds]
60 | plpar_hcall9(H_ALLOCATE_VAS_WINDOW, retbuf, | ^ ~~~~~~

[1] Включено для сборок LLVM, но пока не для GCC. См. коммит
0da6e5fd6c37 ("gcc: disable '-Warray-bounds' for gcc-13 too") и связанные изменения.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

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

Linux

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

12.07.2024

Раскрытие

12.07.2024

Модерация

принято

Вход

VDB-271268

EPSS

0.00302

KEV

Нет

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

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!