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().
Published: 2026-08-15
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel ieee802154 ca8210 driver contains a flaw that leaks a cas_ctl structure when an SPI asynchronous submission fails. The driver allocates cas_ctl with kzalloc_obj and only frees it in the completion callback, which is never called on error. Each failed transfer consequently keeps roughly 600 bytes of memory allocated, and under sustained SPI bus contention this leak can accumulate to a significant amount of memory. The vulnerability does not provide an attacker with code execution or privilege escalation but can lead to resource exhaustion and degrade system stability, potentially resulting in a denial‑of‑service condition.

Affected Systems

All Linux kernel distributions that include the ieee802154 ca8210 driver are impacted, including stock kernels and any custom builds that compile and load the driver module. The specific version range is not listed, so any kernel containing the vulnerable driver code may be affected.

Risk and Exploitability

The CVSS score of 5.5 marks this flaw as medium severity. The EPSS score of < 1% indicates a low likelihood of exploitation. The flaw is not listed in CISA KEV. An attacker would need local or device-level access to repeatedly trigger SPI bus contention, which could cause memory exhaustion and potentially lead to a denial‑of-service condition. The overall risk is moderate, with the primary impact being resource depletion rather than privilege elevation.

Generated by OpenCVE AI on August 18, 2026 at 05:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that incorporates the resolved code for the ca8210 driver
  • If an immediate kernel upgrade is not possible, compile a patch that frees cas_ctl on spi_async error paths
  • Monitor system memory usage and consider disabling the ieee802154 ca8210 module on devices where the wireless interface is unused

Generated by OpenCVE AI on August 18, 2026 at 05:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 04:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Tue, 18 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sat, 15 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
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().
Title ieee802154: ca8210: fix cas_ctl leak on spi_async failure
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:07:14.096Z

Reserved: 2026-08-09T03:40:39.902Z

Link: CVE-2026-72048

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:14.050

Modified: 2026-08-17T06:18:02.860

Link: CVE-2026-72048

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72048 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T06:00:04Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime