{"resultsPerPage":1,"startIndex":0,"totalResults":1,"format":"NVD_CVE","version":"2.0","timestamp":"2026-04-22T11:39:54.754","vulnerabilities":[{"cve":{"id":"CVE-2022-48815","sourceIdentifier":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","published":"2024-07-16T12:15:05.623","lastModified":"2025-10-06T17:05:29.747","vulnStatus":"Analyzed","cveTags":[],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: dsa: bcm_sf2: don't use devres for mdiobus\n\nAs explained in commits:\n74b6d7d13307 (\"net: dsa: realtek: register the MDIO bus under devres\")\n5135e96a3dd2 (\"net: dsa: don't allocate the slave_mii_bus using devres\")\n\nmdiobus_free() will panic when called from devm_mdiobus_free() <-\ndevres_release_all() <- __device_release_driver(), and that mdiobus was\nnot previously unregistered.\n\nThe Starfighter 2 is a platform device, so the initial set of\nconstraints that I thought would cause this (I2C or SPI buses which call\n->remove on ->shutdown) do not apply. But there is one more which\napplies here.\n\nIf the DSA master itself is on a bus that calls ->remove from ->shutdown\n(like dpaa2-eth, which is on the fsl-mc bus), there is a device link\nbetween the switch and the DSA master, and device_links_unbind_consumers()\nwill unbind the bcm_sf2 switch driver on shutdown.\n\nSo the same treatment must be applied to all DSA switch drivers, which\nis: either use devres for both the mdiobus allocation and registration,\nor don't use devres at all.\n\nThe bcm_sf2 driver has the code structure in place for orderly mdiobus\nremoval, so just replace devm_mdiobus_alloc() with the non-devres\nvariant, and add manual free where necessary, to ensure that we don't\nlet devres free a still-registered bus."},{"lang":"es","value":"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: dsa: bcm_sf2: no use devres para mdiobus Como se explica en los commits: 74b6d7d13307 (\"net: dsa: realtek: registre el bus MDIO en devres\") 5135e96a3dd2 (\" net: dsa: no asigne el esclavo_mii_bus usando devres\") mdiobus_free() entrará en pánico cuando se llame desde devm_mdiobus_free() &lt;- devres_release_all() &lt;- __device_release_driver(), y ese mdiobus no fue anulado previamente. El Starfighter 2 es un dispositivo de plataforma, por lo que el conjunto inicial de restricciones que pensé que causarían esto (buses I2C o SPI que llaman -&gt;eliminar activado -&gt;apagar) no se aplican. Pero hay algo más que se aplica aquí. Si el maestro DSA está en un bus que llama -&gt;remove from -&gt;shutdown (como dpaa2-eth, que está en el bus fsl-mc), hay un enlace de dispositivo entre el conmutador y el maestro DSA, y device_links_unbind_consumers( ) desvinculará el controlador del conmutador bcm_sf2 al apagar. Por lo tanto, se debe aplicar el mismo tratamiento a todos los controladores de conmutador DSA, que es: usar devres tanto para la asignación como para el registro de mdiobus, o no usar devres en absoluto. El controlador bcm_sf2 tiene la estructura de código implementada para la eliminación ordenada de mdiobus, así que simplemente reemplace devm_mdiobus_alloc() con la variante que no es devres y agregue manual free cuando sea necesario, para garantizar que no permitamos que devres libere un bus aún registrado."}],"metrics":{"cvssMetricV31":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","baseScore":5.5,"baseSeverity":"MEDIUM","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":1.8,"impactScore":3.6}]},"weaknesses":[{"source":"nvd@nist.gov","type":"Primary","description":[{"lang":"en","value":"NVD-CWE-noinfo"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.10.101","matchCriteriaId":"B68BDC6A-C47C-43F1-B39E-31269028B46E"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"5.15.24","matchCriteriaId":"866451F0-299E-416C-B0B8-AE6B33E62CCA"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16","versionEndExcluding":"5.16.10","matchCriteriaId":"679523BA-1392-404B-AB85-F5A5408B1ECC"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:*","matchCriteriaId":"7BD5F8D9-54FA-4CB0-B4F0-CB0471FDDB2D"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*","matchCriteriaId":"E6E34B23-78B4-4516-9BD8-61B33F4AC49A"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:*","matchCriteriaId":"C030FA3D-03F4-4FB9-9DBF-D08E5CAC51AA"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/08e1a3554e99a1a5bd2835907381e2383ee85cae","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"]},{"url":"https://git.kernel.org/stable/c/08f1a20822349004bb9cc1b153ecb516e9f2889d","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"]},{"url":"https://git.kernel.org/stable/c/2770b795294ed312375c11ef1d0b810499c66b83","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"]},{"url":"https://git.kernel.org/stable/c/caabb5f64f5c32fceed93356bb688ef1ec6c5783","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":["Patch"]},{"url":"https://git.kernel.org/stable/c/08e1a3554e99a1a5bd2835907381e2383ee85cae","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Patch"]},{"url":"https://git.kernel.org/stable/c/08f1a20822349004bb9cc1b153ecb516e9f2889d","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Patch"]},{"url":"https://git.kernel.org/stable/c/2770b795294ed312375c11ef1d0b810499c66b83","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Patch"]},{"url":"https://git.kernel.org/stable/c/caabb5f64f5c32fceed93356bb688ef1ec6c5783","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Patch"]}]}}]}