0.0
NA
CVE-2026-74623
net: atlantic: free stranded TX buffers on ring deinit
Description

In the Linux kernel, the following vulnerability has been resolved: net: atlantic: free stranded TX buffers on ring deinit aq_vec_deinit() drains the TX rings with a single aq_ring_tx_clean() call, which frees at most AQ_CFG_TX_CLEAN_BUDGET (256) descriptors and stops at hw_head, which no longer moves once aq_vec_stop() has stopped the hardware and NAPI. Completed descriptors beyond the budget and everything still posted in [hw_head, sw_tail) keep their skb or xdp_frame when the interface goes down: aq_vec_ring_free() then frees the buffer ring and the references are lost for good. Today this is a silent memory leak on every interface down under TX/XDP_TX load. With the conversion of the RX path to page_pool posted for net-next it becomes much more visible: XDP_TX frames carry fragment references on the RX ring's page_pool, so a single stranded frame keeps the pool's inflight count above zero forever. page_pool_destroy() then never completes, the pool is leaked together with its pages, and "page_pool_release_retry() stalled pool shutdown" is warned every 60 seconds from that point on, on every ifdown, XDP detach or ring resize under XDP_TX load. Bring back aq_ring_tx_deinit() as it was before the removal and use it for teardown again, with one extension: TX rings can hold xdp_frames nowadays, so release those too. They are returned with xdp_return_frame() since this runs in process context.

INFO

Published Date :

Aug. 22, 2026, 4:16 p.m.

Last Modified :

Aug. 22, 2026, 4:16 p.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-74623 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

No affected product recoded yet

Solution
Free stranded TX buffers and XDP_TX frames on ring deinitialization to prevent memory leaks.
  • Reintroduce aq_ring_tx_deinit() for teardown.
  • Release XDP_TX frames using xdp_return_frame().
  • Apply the patch to resolve the memory leak.
  • Update the Linux kernel to the latest version.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-74623 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-74623 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-74623 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-74623 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 22, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'eb36bedf28be6d986bdbcfa375bab08ffa45efd8', 'lessThan': '307d80193b4a4a75b8dc4e0d3162be3755abbed7', 'versionType': 'git'}, {'status': 'affected', 'version': 'eb36bedf28be6d986bdbcfa375bab08ffa45efd8', 'lessThan': '7a3e1481f4ee6c581bccc6bfc6c970aac5be7b0c', 'versionType': 'git'}, {'status': 'affected', 'version': 'eb36bedf28be6d986bdbcfa375bab08ffa45efd8', 'lessThan': '3447641d361dcc5511841d986ad4d849b2900d9b', 'versionType': 'git'}, {'status': 'affected', 'version': 'eb36bedf28be6d986bdbcfa375bab08ffa45efd8', 'lessThan': 'b13202d401e1a20fec89b0cda733dcbaf279f79d', 'versionType': 'git'}, {'status': 'affected', 'version': 'eb36bedf28be6d986bdbcfa375bab08ffa45efd8', 'lessThan': 'dd633280de7fdfd60dc4fcf63d04e2ad95b43269', 'versionType': 'git'}, {'status': 'affected', 'version': 'eb36bedf28be6d986bdbcfa375bab08ffa45efd8', 'lessThan': '452636ea5410a96e02ebaaf80b21e3620b98e0dd', 'versionType': 'git'}], 'programFiles': ['drivers/net/ethernet/aquantia/atlantic/aq_ring.c', 'drivers/net/ethernet/aquantia/atlantic/aq_ring.h', 'drivers/net/ethernet/aquantia/atlantic/aq_vec.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.11'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.11', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.1.183', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.152', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.104', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.45', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.9', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/net/ethernet/aquantia/atlantic/aq_ring.c', 'drivers/net/ethernet/aquantia/atlantic/aq_ring.h', 'drivers/net/ethernet/aquantia/atlantic/aq_vec.c'], 'defaultStatus': 'affected'}]
    Added Description In the Linux kernel, the following vulnerability has been resolved: net: atlantic: free stranded TX buffers on ring deinit aq_vec_deinit() drains the TX rings with a single aq_ring_tx_clean() call, which frees at most AQ_CFG_TX_CLEAN_BUDGET (256) descriptors and stops at hw_head, which no longer moves once aq_vec_stop() has stopped the hardware and NAPI. Completed descriptors beyond the budget and everything still posted in [hw_head, sw_tail) keep their skb or xdp_frame when the interface goes down: aq_vec_ring_free() then frees the buffer ring and the references are lost for good. Today this is a silent memory leak on every interface down under TX/XDP_TX load. With the conversion of the RX path to page_pool posted for net-next it becomes much more visible: XDP_TX frames carry fragment references on the RX ring's page_pool, so a single stranded frame keeps the pool's inflight count above zero forever. page_pool_destroy() then never completes, the pool is leaked together with its pages, and "page_pool_release_retry() stalled pool shutdown" is warned every 60 seconds from that point on, on every ifdown, XDP detach or ring resize under XDP_TX load. Bring back aq_ring_tx_deinit() as it was before the removal and use it for teardown again, with one extension: TX rings can hold xdp_frames nowadays, so release those too. They are returned with xdp_return_frame() since this runs in process context.
    Added Reference https://git.kernel.org/stable/c/307d80193b4a4a75b8dc4e0d3162be3755abbed7
    Added Reference https://git.kernel.org/stable/c/3447641d361dcc5511841d986ad4d849b2900d9b
    Added Reference https://git.kernel.org/stable/c/452636ea5410a96e02ebaaf80b21e3620b98e0dd
    Added Reference https://git.kernel.org/stable/c/7a3e1481f4ee6c581bccc6bfc6c970aac5be7b0c
    Added Reference https://git.kernel.org/stable/c/b13202d401e1a20fec89b0cda733dcbaf279f79d
    Added Reference https://git.kernel.org/stable/c/dd633280de7fdfd60dc4fcf63d04e2ad95b43269
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.