tg3: clean up PHYLIB resources on probe failure
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: tg3: clean up PHYLIB resources on probe failure tg3_get_invariants() can register an MDIO bus and connect a PHY for USE_PHYLIB devices. If tg3_init_one() later fails, its common error path releases the mappings and netdev without undoing those PHYLIB resources. Disconnect the PHY and unregister the MDIO bus before the remaining teardown. Guard PHY cleanup with USE_PHYLIB to match tg3_phy_init(), and call tg3_mdio_fini() unconditionally to match tg3_mdio_init(). The existing IS_CONNECTED and MDIOBUS_INITED flags make both helpers safe when initialization only completed partially. This issue was identified during our ongoing static-analysis research while reviewing kernel code.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in ce86d6929d03e6b0abcb781dfa50f9f0816bff78; From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in a449eedb3b1eb5b8b1f5ed116a1bfe85eaaf81df; From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in 0844402326d4e48a28688f93ec6442e93bb442fa; From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in e766321288b507afb70d2bfef6ba443213329f79; From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in d2abb0013b933d59ee441185df0eca9e8c0b33eb; From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in 6515c41503eef849abd2c7364f34e4bb25110f90; From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in b6c0c757c65893ad7bb17e8bcf33cdd8257d7b3d; From 158d7abdae85e9ac43d99780c372d79c119f7626 · fixed in a92e1a412c53dc0d9ad639e7abf8b3fc70a5b6ad
- Linux Linux
2.6.27
- KernelLinux
From 2.6.27 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9
References 8
git.kernel.org
- stable/c/ce86d6929d03e6b0abcb781dfa50f9f0816bff78
- stable/c/a449eedb3b1eb5b8b1f5ed116a1bfe85eaaf81df
- stable/c/0844402326d4e48a28688f93ec6442e93bb442fa
- stable/c/e766321288b507afb70d2bfef6ba443213329f79
- stable/c/d2abb0013b933d59ee441185df0eca9e8c0b33eb
- stable/c/6515c41503eef849abd2c7364f34e4bb25110f90
- stable/c/b6c0c757c65893ad7bb17e8bcf33cdd8257d7b3d
- stable/c/a92e1a412c53dc0d9ad639e7abf8b3fc70a5b6ad