Vulnerabilidad en kernel de Linux (CVE-2023-52897)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/08/2024
Última modificación:
13/09/2024
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: btrfs: qgroup: no advertir en el registro sin old_roots poblado [ERROR] Hay algunos informes de la lista de correo que desde el kernel v6.1, WARN_ON() dentro de btrfs_qgroup_account_extent() se activa durante la nueva exploración: ADVERTENCIA: CPU: 3 PID: 6424 en fs/btrfs/qgroup.c:2756 btrfs_qgroup_account_extents+0x1ae/0x260 [btrfs] CPU: 3 PID: 6424 Comm: snapperd Contaminado: P OE 6.1.2-1- predeterminado #1 openSUSE Tumbleweed 05c7a1b1b61d5627475528f71f50444637b5aad7 RIP: 0010:btrfs_qgroup_account_extents+0x1ae/0x260 [btrfs] Seguimiento de llamadas: btrfs_commit_transaction+0x30c/0xb40 c39c9c546c241c593f03bd6d5f39ea1b676250f6] ? start_transaction+0xc3/0x5b0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6] btrfs_qgroup_rescan+0x42/0xc0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f 6]btrfs_ioctl+0x1ab9/0x25c0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6]? __rseq_handle_notify_resume+0xa9/0x4a0 ? mntput_no_expire+0x4a/0x240? __seccomp_filter+0x319/0x4d0 __x64_sys_ioctl+0x90/0xd0 do_syscall_64+0x5b/0x80 ? syscall_exit_to_user_mode+0x17/0x40? do_syscall_64+0x67/0x80 Entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7fd9b790d9bf [CAUSA] Desde el commit e15e9f43c7ca ("btrfs: introduzca BTRFS_QGROUP_RUNTIME_FLAG_NO_ACCOUNTING para omitir la contabilidad de qgroup"), si qgroup ya está en estado inconsistente, no lo haremos Ya no hagas la larga caminata hacia atrás. Esto puede dejar algunos registros de qgroup sin una lista old_roots válida. Normalmente, esto está bien, ya que btrfs_qgroup_account_extents() también omitiría esos registros si tenemos configurado el indicador NO_ACCOUNTING. Pero hay una pequeña ventana, si tenemos el indicador NO_ACCOUNTING configurado e insertamos algún qgroup_record sin una lista old_roots, pero luego el usuario activó una nueva exploración de qgroup. Durante btrfs_qgroup_rescan(), primero borramos el indicador NO_ACCOUNTING y luego confirmamos la transacción actual. Y como tenemos un qgroup_record con old_roots = NULL, activamos WARN_ON() durante btrfs_qgroup_account_extents(). [FIX] Desafortunadamente, debido a la introducción del indicador NO_ACCOUNTING, la suposición de que cada qgroup_record tendría sus old_roots completadas ya no es correcta. Corrija las alertas falsas y elimine WARN_ON().
Impacto
Puntuación base 3.x
4.70
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1 (incluyendo) | 6.1.8 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página