Vulnerabilidad en kernel de Linux (CVE-2023-52574)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476
Desreferencia a puntero nulo (NULL)
Fecha de publicación:
02/03/2024
Última modificación:
11/12/2024
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: equipo: corrige null-ptr-deref cuando se cambia el tipo de dispositivo del equipo. Obtiene un error null-ptr-deref de la siguiente manera con el reproductor [1]. ERROR: desreferencia del puntero NULL del kernel, dirección: 0000000000000228... RIP: 0010:vlan_dev_hard_header+0x35/0x140 [8021q]... Seguimiento de llamadas: ? __morir+0x24/0x70 ? page_fault_oops+0x82/0x150? exc_page_fault+0x69/0x150? asm_exc_page_fault+0x26/0x30? vlan_dev_hard_header+0x35/0x140 [8021q] ? vlan_dev_hard_header+0x8e/0x140 [8021q] neigh_connected_output+0xb2/0x100 ip6_finish_output2+0x1cb/0x520 ? nf_hook_slow+0x43/0xc0? ip6_mtu+0x46/0x80 ip6_finish_output+0x2a/0xb0 mld_sendpack+0x18f/0x250 mld_ifc_work+0x39/0x160 Process_one_work+0x1e6/0x3f0 trabajador_thread+0x4d/0x2f0? __pfx_worker_thread+0x10/0x10 kthread+0xe5/0x120 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 [1] $ teamd -t team0 -d -c '{"runner": {"name": "loadbalance"}}' $ enlace ip agregar nombre t-dummy tipo dummy $ enlace ip agregar enlace t-dummy nombre t-dummy.100 tipo vlan id 100 $ enlace ip agregar nombre t-nlmon tipo nlmon $ conjunto de enlaces ip t-nlmon master team0 $ conjunto de enlaces ip t-nlmon nomaster $ conjunto de enlaces ip t- dummy up $ ip link set team0 up $ ip link set t-dummy.100 down $ ip link set t-dummy.100 master team0 Cuando se esclaviza un dispositivo VLAN a un dispositivo de equipo y el tipo de dispositivo de equipo se cambia de no ether a ether, header_ops del dispositivo del equipo se cambia a vlan_header_ops. Eso es incorrecto y activará null-ptr-deref para vlan->real_dev en vlan_dev_hard_header() porque el dispositivo del equipo no es un dispositivo vlan. Almacene en caché eth_header_ops en team_setup(), luego asigne header_ops almacenados en caché a header_ops del dispositivo team net cuando su tipo cambie de no ether a ether para corregir el error.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.7 (incluyendo) | 4.14.327 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (incluyendo) | 4.19.296 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.258 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.198 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.134 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.56 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.5.6 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.6:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.6:rc2:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/1779eb51b9cc628cee551f252701a85a2a50a457
- https://git.kernel.org/stable/c/2f0acb0736ecc3eb85dc80ad2790d634dcb10b58
- https://git.kernel.org/stable/c/492032760127251e5540a5716a70996bacf2a3fd
- https://git.kernel.org/stable/c/a7fb47b9711101d2405b0eb1276fb1f9b9b270c7
- https://git.kernel.org/stable/c/b44dd92e2afd89eb6e9d27616858e72a67bdc1a7
- https://git.kernel.org/stable/c/c5f6478686bb45f453031594ae19b6c9723a780d
- https://git.kernel.org/stable/c/cac50d9f5d876be32cb9aa21c74018468900284d
- https://git.kernel.org/stable/c/cd05eec2ee0cc396813a32ef675634e403748255
- https://git.kernel.org/stable/c/1779eb51b9cc628cee551f252701a85a2a50a457
- https://git.kernel.org/stable/c/2f0acb0736ecc3eb85dc80ad2790d634dcb10b58
- https://git.kernel.org/stable/c/492032760127251e5540a5716a70996bacf2a3fd
- https://git.kernel.org/stable/c/a7fb47b9711101d2405b0eb1276fb1f9b9b270c7
- https://git.kernel.org/stable/c/b44dd92e2afd89eb6e9d27616858e72a67bdc1a7
- https://git.kernel.org/stable/c/c5f6478686bb45f453031594ae19b6c9723a780d
- https://git.kernel.org/stable/c/cac50d9f5d876be32cb9aa21c74018468900284d
- https://git.kernel.org/stable/c/cd05eec2ee0cc396813a32ef675634e403748255