CVE-2026-43380

In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus/q54sj108a2) fix stack overflow in debugfs read The q54sj108a2_debugfs_read function suffers from a stack buffer overflow due to incorrect arguments passed to bin2hex(). The function currently passes 'data' as the destination and 'data_char' as the source. Because bin2hex() converts each input byte into two hex characters, a 32-byte block read results in 64 bytes of output. Since 'data' is only 34 bytes (I2C_SMBUS_BLOCK_MAX + 2), this writes 30 bytes past the end of the buffer onto the stack. Additionally, the arguments were swapped: it was reading from the zero-initialized 'data_char' and writing to 'data', resulting in all-zero output regardless of the actual I2C read. Fix this by: 1. Expanding 'data_char' to 66 bytes to safely hold the hex output. 2. Correcting the bin2hex() argument order and using the actual read count. 3. Using a pointer to select the correct output buffer for the final simple_read_from_buffer call.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*

History

11 Nov 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: hwmon: (pmbus/q54sj108a2) corrige desbordamiento de pila en la lectura de debugfs La función q54sj108a2_debugfs_read sufre de un desbordamiento de búfer de pila debido a argumentos incorrectos pasados a bin2hex(). La función actualmente pasa ’data’ como destino y ’data_char’ como origen. Debido a que bin2hex() convierte cada byte de entrada en dos caracteres hexadecimales, una lectura de bloque de 32 bytes resulta en 64 bytes de salida. Dado que ’data’ es de solo 34 bytes (I2C_SMBUS_BLOCK_MAX + 2), esto escribe 30 bytes más allá del final del búfer en la pila. Además, los argumentos estaban intercambiados: estaba leyendo de ’data_char’ inicializado a cero y escribiendo en ’data’, lo que resultaba en una salida de todo ceros independientemente de la lectura I2C real. Esto se soluciona mediante: 1. Expandiendo ’data_char’ a 66 bytes para contener de forma segura la salida hexadecimal. 2. Corrigiendo el orden de los argumentos de bin2hex() y usando el recuento de lectura real. 3. Usando un puntero para seleccionar el búfer de salida correcto para la llamada final a simple_read_from_buffer.

Information

Published : 2026-05-08 15:16

Updated : 2026-11-11 20:10


NVD link : CVE-2026-43380

Mitre link : CVE-2026-43380

CVE.ORG link : CVE-2026-43380


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-125

Out-of-bounds Read