In the Linux kernel, the following vulnerability has been resolved: spi: fsl-cpm: Check length parity before switching to 16 bit mode Commit fc96ec826bce ("spi: fsl-cpm: Use 16 bit mode for large transfers with even size") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM. But commit 8ad6249c51d0 ("eeprom: at25: convert to spi-mem API") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd. Add the missing length parity verification and remain in 8 bit mode when the length is not even.
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: spi: fsl-cpm: Verificar la paridad de la longitud antes de cambiar al modo de 16 bits El commit fc96ec826bce ('spi: fsl-cpm: Usar el modo de 16 bits para transferencias grandes con tamaño par') no logró asegurar que el tamaño fuera realmente par antes de cambiar al modo de 16 bits. Hasta hace poco el problema pasó desapercibido porque kernfs utiliza un búfer de rebote preasignado de tamaño PAGE_SIZE para leer la EEPROM. Pero el commit 8ad6249c51d0 ('eeprom: at25: convertir a la API spi-mem') introdujo un búfer de rebote adicional asignado dinámicamente cuyo tamaño es exactamente el tamaño de la transferencia, lo que llevó a un desbordamiento de búfer en el controlador fsl-cpm cuando ese tamaño es impar. Añadir la verificación de paridad de longitud faltante y permanecer en el modo de 8 bits cuando la longitud no es par.
No CVSS metrics are available for this CVE.