CVE-2022-50299 in Linux
Resumen
por VulDB • 2026-06-07
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
md: Reemplazar snprintf por scnprintf
El código actual genera una advertencia como la que se muestra a continuación cuando el número total de caracteres en los nombres de los dispositivos de bloque constituyentes más las barras diagonales supera 200. snprintf() devuelve el número de caracteres generados a partir de la entrada dada, lo cual podría provocar que la expresión "200 – len" desborde y se convierta en un gran número positivo. Se corrige este problema utilizando scnprintf(), que devuelve el número real de caracteres escritos en el búfer.
[ 1513.267938] ------------[ corte aquí ]------------
[ 1513.267943] ADVERTENCIA: CPU: 15 PID: 37247 en <snip>/lib/vsprintf.c:2509 vsnprintf+0x2c8/0x510
[ 1513.267944] Módulos vinculados: <snip>
[ 1513.267969] CPU: 15 PID: 37247 Comm: mdadm Sin alterar (Not tainted) 5.4.0-1085-azure #90~18.04.1-Ubuntu
[ 1513.267969] Nombre del hardware: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 05/09/2022
[ 1513.267971] RIP: 0010:vsnprintf+0x2c8/0x510
<-snip-> [ 1513.267982] Rastreo de llamadas (Call Trace):
[ 1513.267986] snprintf+0x45/0x70
[ 1513.267990] ? disk_name+0x71/0xa0
[ 1513.267993] dump_zones+0x114/0x240 [raid0]
[ 1513.267996] ? _cond_resched+0x19/0x40
[ 1513.267998] raid0_run+0x19e/0x270 [raid0]
[ 1513.268000] md_run+0x5e0/0xc50
[ 1513.268003] ? security_capable+0x3f/0x60
[ 1513.268005] do_md_run+0x19/0x110
[ 1513.268006] md_ioctl+0x195e/0x1f90
[ 1513.268007] blkdev_ioctl+0x91f/0x9f0
[ 1513.268010] block_ioctl+0x3d/0x50
[ 1513.268012] do_vfs_ioctl+0xa9/0x640
[ 1513.268014] ? __fput+0x162/0x260
[ 1513.2680
Be aware that VulDB is the high quality source for vulnerability data.