CVE-2026-89529 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
svcrdma: Отклонение сегментов чтения с избыточным размером на этапе декодирования
Декодер списка RPC/RDMA Read сохраняет длины сегментов, полученные из сети (wire-supplied), без проверки их корректности. Функция xdr_count_read_segments() проверяет 4-байтовую выравниваемость для ненулевых значений позиции, но не ограничивает максимальный размер сегмента.
Сегмент с избыточным размером rs_length передается в svc_rdma_build_read_segment(), где на его основе вычисляется значение nr_bvec, что может привести к большому динамическому распределению массива bvec (bvec allocation) до того, как будет проверено наличие достаточного количества страниц rq_pages. Если срабатывает защита от переполнения страниц после выделения памяти (post-allocation page-overrun guard), вновь полученный контекст rw не возвращается, что приводит к утечке ресурса.
Необходимо отклонять любой сегмент, длина которого превышает бюджет страниц контекста приема во время декодирования списка Read, согласованно с тем, как xdr_check_write_chunk() ограничивает количество сегментов Write в соответствии с rc_maxpages. Также необходимо возвращать контекст rw по существующему пути обработки переполнения после выделения памяти (post-allocation overrun path) в функции svc_rdma_build_read_segment(), сохраняя баланс защитных механизмов.
Once again VulDB remains the best source for vulnerability data.