CVE-2026-72048
Description
In the Linux kernel, the following vulnerability has been resolved: ieee802154: ca8210: fix cas_ctl leak on spi_async failure ca8210_spi_transfer() allocates cas_ctl with kzalloc_obj(GFP_ATOMIC) and relies entirely on the SPI completion callback ca8210_spi_transfer_complete() to free it. The spi_async() API only invokes the completion callback on successful submission. On failure it returns a negative error code without ever queuing the callback, which leaves cas_ctl and its embedded spi_message and spi_transfer orphaned. Every kfree(cas_ctl) in the driver is inside the completion callback, so there is no other reclamation path. ca8210_spi_transfer() is called from ca8210_spi_exchange(), the interrupt handler ca8210_interrupt_handler(), and from the retry path inside the completion callback itself. The exchange and interrupt handler paths loop on -EBUSY, so under sustained SPI bus contention every retry iteration leaks a fresh cas_ctl (~600 bytes per occurrence). Fix it by freeing cas_ctl on the spi_async() error path. While here, correct the misleading error string: the function calls spi_async(), not spi_sync().
How to fix
- Linux Linux460c5cd51e4d7d15b317f178f42cfcb666c0fe91, b07aea90dbc6e188c74c100af64b77b9482ffc65, fe90605b651573d30be8293ff5be40e3d7023117, b9071dc7889bef42590e04fbf3e56cc65e1e5e6e, d4a397fe803c2d157f6ebb068b802ef75fbf109e, cb5cca1d2a908ddd5e357971de0f2009617b8d6a, 7e3630fbb6aabb844bbf35746dee0bf3894100c7, e09390e439bd7cca30dd10893b1f64802961667a or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < 460c5cd51e4d7d15b317f178f42cfcb666c0fe91, ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < b07aea90dbc6e188c74c100af64b77b9482ffc65, ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < fe90605b651573d30be8293ff5be40e3d7023117, ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < b9071dc7889bef42590e04fbf3e56cc65e1e5e6e, ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < d4a397fe803c2d157f6ebb068b802ef75fbf109e, ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < cb5cca1d2a908ddd5e357971de0f2009617b8d6a, ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < 7e3630fbb6aabb844bbf35746dee0bf3894100c7, ded845a781a578dfb0b5b2c138e5a067aa3b1242 ≤ v < e09390e439bd7cca30dd10893b1f64802961667a, 4.12 | 460c5cd51e4d7d15b317f178f42cfcb666c0fe91, b07aea90dbc6e188c74c100af64b77b9482ffc65, fe90605b651573d30be8293ff5be40e3d7023117, b9071dc7889bef42590e04fbf3e56cc65e1e5e6e, d4a397fe803c2d157f6ebb068b802ef75fbf109e, cb5cca1d2a908ddd5e357971de0f2009617b8d6a, 7e3630fbb6aabb844bbf35746dee0bf3894100c7, e09390e439bd7cca30dd10893b1f64802961667a |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.