В ядре Linux устранена следующая уязвимость:
scsi: qla2xxx: очистить размер полезной нагрузки, чтобы предотвратить переполнение элементов. В qla27xx_copy_fpin_pkt() и qla27xx_copy_multiple_pkt() параметрframe_size
сообщается прошивкой, используется для расчета длины копии в
элемент->iocb. Однако член iocb определяется как 64-байтовый элемент фиксированного размера.
массив внутри структуры purex_item.
Если сообщаемый размер кадра превышает 64 байта, последующие вызовы memcpy будут
переполнить границу члена iocb. Хотя может быть выделена дополнительная память,
эта запись через перекрестный элемент небезопасна и вызывает предупреждения в разделе
CONFIG_FORTIFY_SOURCE. Исправьте это, ограничив total_bytes размером члена iocb (64 байта).
перед выделением и копированием.
Это гарантирует, что все копии останутся в пределах границы члена целевой структуры.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Sanitize payload size to prevent member overflow In qla27xx_copy_fpin_pkt() and qla27xx_copy_multiple_pkt(), the frame_size reported by firmware is used to calculate the copy length into item->iocb. However, the iocb member is defined as a fixed-size 64-byte array within struct purex_item. If the reported frame_size exceeds 64 bytes, subsequent memcpy calls will overflow the iocb member boundary. While extra memory might be allocated, this cross-member write is unsafe and triggers warnings under CONFIG_FORTIFY_SOURCE. Fix this by capping total_bytes to the size of the iocb member (64 bytes) before allocation and copying. This ensures all copies remain within the bounds of the destination structure member.