CVE-2022-49993

In the Linux kernel, the following vulnerability has been resolved: loop: Check for overflow while configuring loop The userspace can configure a loop using an ioctl call, wherein a configuration of type loop_config is passed (see lo_ioctl()'s case on line 1550 of drivers/block/loop.c). This proceeds to call loop_configure() which in turn calls loop_set_status_from_info() (see line 1050 of loop.c), passing &config->info which is of type loop_info64*. This function then sets the appropriate values, like the offset. loop_device has lo_offset of type loff_t (see line 52 of loop.c), which is typdef-chained to long long, whereas loop_info64 has lo_offset of type __u64 (see line 56 of include/uapi/linux/loop.h). The function directly copies offset from info to the device as follows (See line 980 of loop.c): lo->lo_offset = info->lo_offset; This results in an overflow, which triggers a warning in iomap_iter() due to a call to iomap_iter_done() which has: WARN_ON_ONCE(iter->iomap.offset > iter->pos); Thus, check for negative value during loop_set_status_from_info(). Bug report: https://syzkaller.appspot.com/bug?id=c620fe14aac810396d3c3edc9ad73848bf69a29e
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:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*

History

14 Nov 2025, 18:12

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: loop: Comprobar si hay desbordamiento al configurar loop El espacio de usuario puede configurar un bucle mediante una llamada ioctl, en la que se pasa una configuración de tipo loop_config (consulte el caso de lo_ioctl() en la línea 1550 de drivers/block/loop.c). Esto procede a llamar a loop_configure() que a su vez llama a loop_set_status_from_info() (consulte la línea 1050 de loop.c), pasando &config->info que es de tipo loop_info64*. Esta función luego establece los valores apropiados, como el desplazamiento. loop_device tiene lo_offset de tipo loff_t (consulte la línea 52 de loop.c), que está encadenado por typdef a long long, mientras que loop_info64 tiene lo_offset de tipo __u64 (consulte la línea 56 de include/uapi/linux/loop.h). La función copia directamente el desplazamiento de info al dispositivo como se indica a continuación (véase la línea 980 de loop.c): lo->lo_offset = info->lo_offset; Esto genera un desbordamiento que genera una advertencia en iomap_iter() debido a una llamada a iomap_iter_done() que tiene: WARN_ON_ONCE(iter->iomap.offset > iter->pos); Por lo tanto, se debe verificar si hay un valor negativo durante loop_set_status_from_info(). Informe de error: https://syzkaller.appspot.com/bug?id=c620fe14aac810396d3c3edc9ad73848bf69a29e
CWE NVD-CWE-noinfo
References () https://git.kernel.org/stable/c/0455bef69028c65065f16bb04635591b2374249b - () https://git.kernel.org/stable/c/0455bef69028c65065f16bb04635591b2374249b - Patch
References () https://git.kernel.org/stable/c/18e28817cb516b39de6281f6db9b0618b2cc7b42 - () https://git.kernel.org/stable/c/18e28817cb516b39de6281f6db9b0618b2cc7b42 - Patch
References () https://git.kernel.org/stable/c/6858933131d0dadac071c4d33335a9ea4b8e76cf - () https://git.kernel.org/stable/c/6858933131d0dadac071c4d33335a9ea4b8e76cf - Patch
References () https://git.kernel.org/stable/c/9be7fa7ead18a48940df7b59d993bbc8b9055c15 - () https://git.kernel.org/stable/c/9be7fa7ead18a48940df7b59d993bbc8b9055c15 - Patch
References () https://git.kernel.org/stable/c/a217715338fd48f72114725aa7a40e484a781ca7 - () https://git.kernel.org/stable/c/a217715338fd48f72114725aa7a40e484a781ca7 - Patch
References () https://git.kernel.org/stable/c/adf0112d9b8acb03485624220b4934f69bf13369 - () https://git.kernel.org/stable/c/adf0112d9b8acb03485624220b4934f69bf13369 - Patch
References () https://git.kernel.org/stable/c/b40877b8562c5720d0a7fce20729f56b75a3dede - () https://git.kernel.org/stable/c/b40877b8562c5720d0a7fce20729f56b75a3dede - Patch
References () https://git.kernel.org/stable/c/c490a0b5a4f36da3918181a8acdc6991d967c5f3 - () https://git.kernel.org/stable/c/c490a0b5a4f36da3918181a8acdc6991d967c5f3 - Patch
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*
First Time Linux
Linux linux Kernel
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5

18 Jun 2025, 11:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-06-18 11:15

Updated : 2025-11-14 18:12


NVD link : CVE-2022-49993

Mitre link : CVE-2022-49993

CVE.ORG link : CVE-2022-49993


JSON object : View

Products Affected

linux

  • linux_kernel