Description
In the Linux kernel, the following vulnerability has been resolved:
ieee802154: ca8210: Fix a potential UAF in ca8210_probe
If of_clk_add_provider() fails in ca8210_register_ext_clock(), it calls clk_unregister() to release priv->clk and returns an error. However, the caller ca8210_probe() then calls ca8210_remove(), where priv->clk is freed again in ca8210_unregister_ext_clock(). In this case, a use-after-free may happen in the second time we call clk_unregister().
Fix this by removing the first clk_unregister(). Also, priv->clk could be an error code on failure of clk_register_fixed_rate(). Use IS_ERR_OR_NULL to catch this case in ca8210_unregister_ext_clock().
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < 28b68cba378e3e50a4082b65f262bc4f2c7c2add; >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < cdb46be93c1f7bbf2c4649e9fc5fb147cfb5245d; >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < 85c2857ef90041f567ce98722c1c342c4d31f4bc; >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < 55e06850c7894f00d41b767c5f5665459f83f58f; >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < 84c6aa0ae5c4dc121f9996bb8fed46c80909d80e; >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < 217efe32a45249eb07dcd7197e8403de98345e66; >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < becf5c147198f4345243c5df0c4f035415491640; >= ded845a781a578dfb0b5b2c138e5a067aa3b1242, < f990874b1c98fe8e57ee9385669f501822979258 |
| Linux | Linux | 4.12 |
References
- https://git.kernel.org/stable/c/217efe32a45249eb07dcd7197e8403de98345e66Patch
- https://git.kernel.org/stable/c/28b68cba378e3e50a4082b65f262bc4f2c7c2addPatch
- https://git.kernel.org/stable/c/55e06850c7894f00d41b767c5f5665459f83f58fPatch
- https://git.kernel.org/stable/c/84c6aa0ae5c4dc121f9996bb8fed46c80909d80ePatch
- https://git.kernel.org/stable/c/85c2857ef90041f567ce98722c1c342c4d31f4bcPatch
- https://git.kernel.org/stable/c/becf5c147198f4345243c5df0c4f035415491640Patch
- https://git.kernel.org/stable/c/cdb46be93c1f7bbf2c4649e9fc5fb147cfb5245dPatch
- https://git.kernel.org/stable/c/f990874b1c98fe8e57ee9385669f501822979258Patch
- https://git.kernel.org/stable/c/217efe32a45249eb07dcd7197e8403de98345e66Patch
- https://git.kernel.org/stable/c/28b68cba378e3e50a4082b65f262bc4f2c7c2addPatch
- https://git.kernel.org/stable/c/55e06850c7894f00d41b767c5f5665459f83f58fPatch
- https://git.kernel.org/stable/c/84c6aa0ae5c4dc121f9996bb8fed46c80909d80ePatch
- https://git.kernel.org/stable/c/85c2857ef90041f567ce98722c1c342c4d31f4bcPatch
- https://git.kernel.org/stable/c/becf5c147198f4345243c5df0c4f035415491640Patch
- https://git.kernel.org/stable/c/cdb46be93c1f7bbf2c4649e9fc5fb147cfb5245dPatch
- https://git.kernel.org/stable/c/f990874b1c98fe8e57ee9385669f501822979258Patch
Timeline
- Published
- Mar 2, 2024
- Last modified
- Jun 17, 2026
- NVD status
- Analyzed