CVE-2022-49195

In the Linux kernel, the following vulnerability has been resolved: net: dsa: fix panic on shutdown if multi-chip tree failed to probe DSA probing is atypical because a tree of devices must probe all at once, so out of N switches which call dsa_tree_setup_routing_table() during probe, for (N - 1) of them, "complete" will return false and they will exit probing early. The Nth switch will set up the whole tree on their behalf. The implication is that for (N - 1) switches, the driver binds to the device successfully, without doing anything. When the driver is bound, the ->shutdown() method may run. But if the Nth switch has failed to initialize the tree, there is nothing to do for the (N - 1) driver instances, since the slave devices have not been created, etc. Moreover, dsa_switch_shutdown() expects that the calling @ds has been in fact initialized, so it jumps at dereferencing the various data structures, which is incorrect. Avoid the ensuing NULL pointer dereferences by simply checking whether the Nth switch has previously set "ds->setup = true" for the switch which is currently shutting down. The entire setup is serialized under dsa2_mutex which we already hold.
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:5.15:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc7:*:*:*:*:*:*

History

23 Sep 2025, 13:44

Type Values Removed Values Added
CWE CWE-476
CPE cpe:2.3:o:linux:linux_kernel:5.15:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc3:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: dsa: fix panic on shutting if multi-chip tree failed to probe El sondeo de DSA es atípico porque un árbol de dispositivos debe sondear todos a la vez, por lo que de N switches que llaman a dsa_tree_setup_routing_table() durante el sondeo, para (N - 1) de ellos, "complete" devolverá false y saldrán del sondeo antes de tiempo. El Nth switch configurará todo el árbol en su nombre. La implicación es que para (N - 1) switches, el controlador se vincula al dispositivo con éxito, sin hacer nada. Cuando el controlador está vinculado, el método ->shutdown() puede ejecutarse. Pero si el Nth switch no ha podido inicializar el árbol, no hay nada que hacer para las (N - 1) instancias del controlador, ya que los dispositivos esclavos no se han creado, etc. Además, dsa_switch_shutdown() espera que el @ds que llama se haya inicializado de hecho, por lo que salta a desreferenciar las diversas estructuras de datos, lo cual es incorrecto. Evite las desreferencias de puntero NULL resultantes simplemente verificando si el conmutador Nth ha establecido previamente "ds->setup = true" para el conmutador que se está apagando actualmente. La configuración completa está serializada bajo dsa2_mutex que ya tenemos.
References () https://git.kernel.org/stable/c/8fd36358ce82382519b50b05f437493e1e00c4a9 - () https://git.kernel.org/stable/c/8fd36358ce82382519b50b05f437493e1e00c4a9 - Patch
References () https://git.kernel.org/stable/c/95df5cd5a446df6738d2d45872e08594819080e4 - () https://git.kernel.org/stable/c/95df5cd5a446df6738d2d45872e08594819080e4 - Patch
References () https://git.kernel.org/stable/c/b6e668ff43ebd87ccc8a19e5481345c428672295 - () https://git.kernel.org/stable/c/b6e668ff43ebd87ccc8a19e5481345c428672295 - Patch
References () https://git.kernel.org/stable/c/b864d5350c18bea9369d0bdd9e7eb6f6172cc283 - () https://git.kernel.org/stable/c/b864d5350c18bea9369d0bdd9e7eb6f6172cc283 - Patch
First Time Linux linux Kernel
Linux

26 Feb 2025, 07:00

Type Values Removed Values Added
New CVE

Information

Published : 2025-02-26 07:00

Updated : 2025-09-23 13:44


NVD link : CVE-2022-49195

Mitre link : CVE-2022-49195

CVE.ORG link : CVE-2022-49195


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference