Vulnerabilidad en kernel de Linux (CVE-2025-21920)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125
Lectura fuera de límites
Fecha de publicación:
01/04/2025
Última modificación:
11/04/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: vlan: imponer el tipo de dispositivo subyacente Actualmente, los dispositivos VLAN se pueden crear sobre dispositivos que no sean Ethernet. Además del hecho de que no tiene mucho sentido, esto también causa un error que filtra la dirección de una función del kernel al modo de usuario. Al crear un dispositivo VLAN, inicializamos GARP (garp_init_applicant) y MRP (mrp_init_applicant) para el dispositivo subyacente. Como parte del proceso de inicialización, agregamos la dirección de multidifusión de cada solicitante al dispositivo subyacente, llamando a dev_mc_add. __dev_mc_add usa dev->addr_len para determinar la longitud de la nueva dirección de multidifusión. Esto causa una lectura fuera de los límites si dev->addr_len es mayor que 6, ya que las direcciones de multidifusión proporcionadas por GARP y MRP solo tienen 6 bytes de longitud. Este comportamiento se puede reproducir utilizando los siguientes comandos: ip tunnel add gretest mode ip6gre local ::1 remote ::2 dev lo ip l set up dev gretest ip link add link gretest name vlantest type vlan id 100 Luego, el siguiente comando mostrará la dirección de garp_pdu_rcv: ip maddr show | grep 01:80:c2:00:00:21 Corrija el error aplicando el tipo de dispositivo subyacente durante la inicialización del dispositivo VLAN.
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.35 (incluyendo) | 5.4.291 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.235 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.179 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.131 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.83 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.19 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.13.7 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.14:rc5:*:*:*:*:*:* |
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/0fb7aa04c19eac4417f360a9f7611a60637bdacc
- https://git.kernel.org/stable/c/30e8aee77899173a82ae5ed89f536c096f20aaeb
- https://git.kernel.org/stable/c/3561442599804905c3defca241787cd4546e99a7
- https://git.kernel.org/stable/c/5a515d13e15536e82c5c7c83eb6cf5bc4827fee5
- https://git.kernel.org/stable/c/7f1564b2b2072b7aa1ac75350e9560a07c7a44fd
- https://git.kernel.org/stable/c/b33a534610067ade2bdaf2052900aaad99701353
- https://git.kernel.org/stable/c/b6c72479748b7ea09f53ed64b223cee6463dc278
- https://git.kernel.org/stable/c/fa40ebef69234e39ec2d26930d045f2fb9a8cb2b