CVE-2026-98044 in LinuxИнформация

Сводка

по VulDB • 25.09.2026

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

bpf: Отклонять загрузки пакетов legacy-формата из обратных вызовов (callbacks)

Функция `check_ld_abs()` моделирует сбой при выполнении инструкций BPF_LD_ABS или BPF_LD_IND в подпрограмме как неявный возврат, устанавливая регистр R0 равным нулю. Она вызывает функцию `prepare_func_exit()` для исследования этого синтезированного пути выполнения.

Когда загрузка данных достигается непосредственно из синхронного обратного вызова (callback), функция `prepare_func_exit()` обеспечивает соблюдение контракта возврата callback и помечает регистр R0 как точный (precise). Поскольку значение R0 на этом пути не выводится из реальной инструкции, трассировка назад по точности достигает точки вызова callback с требованием сохранения точности для R0, что вызывает ошибку верификатора «callback unexpected regs». Таким образом, привилегированный загрузчик программ может вызвать предупреждение верификатора и возврат ошибки -EFAULT при операции BPF_PROG_LOAD.

Эти legacy-инструкции загрузки пакетов считаются устаревшими. Вместо усложнения модели неявного возврата их следует отклонять в контексте обратных вызовов. Необходимо проверять все активные кадры стека перед формированием неявного возврата, чтобы вложенные статические подпрограммы не могли скрыть контекст callback.

Глобальные функции верифицируются независимо с обнулением нового кадра стека, поэтому проверка активных кадров не может идентифицировать глобальную функцию, вызванную из обратного вызова. Также необходимо проверять полный граф вызовов подпрограммы во время валидации глубины стека и отклонять функции, содержащие legacy-загрузку данных, если любой из их вызывающих объектов является callback. Это покрывает глобальные и статические дочерние элементы без транзитивности проверки `has_ld_abs`, сохраняя проверку типа возврата BTF на уровне каждой функции. Обычное использование вне контекста обратных вызовов остается поддерживаемым.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

Linux

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

25.09.2026

Раскрытие

25.09.2026

Модерация

принято

Вход

VDB-410186

EPSS

0.00000

KEV

Нет

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

Очень низкий

Сектор

Pharma, Police, ...

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!