In the Linux kernel, the following vulnerability has been resolved: ext4: fix infinite loop when replaying fast_commit When doing fast_commit replay an infinite loop may occur due to an uninitialized extent_status struct. ext4_ext_determine_insert_hole() does not detect the replay and calls ext4_es_find_extent_range(), which will return immediately without initializing the 'es' variable. Because 'es' contains garbage, an integer overflow may happen causing an infinite loop in this function, easily reproducible using fstest generic/039. This commit fixes this issue by unconditionally initializing the structure in function ext4_es_find_extent_range(). Thanks to Zhang Yi, for figuring out the real problem!
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: ext4: corrige el bucle infinito al reproducir fast_commit Al realizar la reproducción fast_commit, puede ocurrir un bucle infinito debido a una estructura extend_status no inicializada. ext4_ext_determine_insert_hole() no detecta la repetición y llama a ext4_es_find_extent_range(), que regresará inmediatamente sin inicializar la variable 'es'. Debido a que 'es' contiene basura, puede ocurrir un desbordamiento de enteros causando un bucle infinito en esta función, fácilmente reproducible usando fstest generic/039. Esta confirmación soluciona este problema inicializando incondicionalmente la estructura en la función ext4_es_find_extent_range(). ¡Gracias a Zhang Yi por descubrir el verdadero problema!
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | NONE |
| Integrity Impact | NONE |
| Availability Impact | HIGH |
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
CWE-835
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd341243700> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36a715c40> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3694e5d80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd384615200> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd341240580> | Operating System |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |