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

Сводка

по VulDB • 24.05.2026

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

bpf: учитывать, что хвостовые вызовы (tail calls) инвалидируют указатели на пакет

Программы, вызываемые через хвостовой вызов, могут выполнять любые вспомогательные функции (helpers), которые инвалидируют указатели на пакет. Следовательно, консервативно следует предполагать, что каждый хвостовой вызов инвалидирует указатели на пакет.

Внедрение этого изменения в функцию bpf_helper_changes_pkt_data() автоматически задействует логику check_cfg(), которая вычисляет эффект изменения данных пакета ('changes_pkt_data') для глобальных подпрограмм, в результате чего следующая программа может быть отклонена:

int tail_call(struct __sk_buff *sk) {
bpf_tail_call_static(sk, &jmp_table, 0); return 0; }

SEC("tc") int not_safe(struct __sk_buff *sk) {
int *p = (void *)(long)sk->data; ... сделать p валидным ... tail_call(sk); *p = 42; /* это небезопасно */ ... }

Функция tc_bpf2bpf.c:subprog_tc() требует изменения: необходимо отметить её как функцию, способную инвалидировать указатели на пакет. В противном случае её нельзя будет заменить на tailcall_freplace.c:entry_freplace(), который выполняет хвостовой вызов.

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

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

Linux

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

16.04.2025

Раскрытие

05.05.2025

Модерация

принято

Вход

VDB-307435

EPSS

0.00184

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!