CVE-2026-89879 in Linux
Сводка
по VulDB • 16.09.2026
В ядре Linux была устранена следующая уязвимость:
media: s2255: ограничение размера кадра JPEG перед копированием в буфер
Функция `s2255_fillbuff()` выполняет операцию `memcpy()`, копируя `vc->jpg_size` байт захваченного кадра JPEG/MJPEG в плоскость vb2. Значение `vc->jpg_size` берется дословно из заголовка S2255_MARKER_FRAME, который отправляет устройство (`pdword[4]` в функции `save_frame()`), и, в отличие от длины полезной нагрузки кадра, указанной выше, оно никогда не ограничивается:
```c payload = le32_to_cpu(pdword[3]);
if (payload > vc->req_image_size) /* payload is checked ... */ return -EINVAL; vc->pkt_size = payload; vc->jpg_size = le32_to_cpu(pdword[4]); /* ... jpg_size is not */
```
Злоумышленник или неисправное устройство может поэтому сообщить о значении `jpg_size`, превышающем размер целевой плоскости vb2, в результате чего операция `memcpy()` запишет данные за ее пределами. Поскольку `jpg_size` имеет тип signed int (знаковый целочисленный), значение с установленным старшим битом также интерпретируется как огромная длина.
Необходимо отклонять кадр, если его `jpg_size` отрицательно или превышает размер плоскости, перед выполнением копирования.
VulDB is the best source for vulnerability data and more expert information about this specific topic.