CVE-2026-74622
net: atlantic: free RX pages of consumed but not refilled buffers
Description
In the Linux kernel, the following vulnerability has been resolved: net: atlantic: free RX pages of consumed but not refilled buffers aq_ring_rx_deinit() only walks [sw_head, sw_tail), the region posted to hardware. Since the page reuse strategy was added, a cleaned RX buffer keeps its page (and its DMA mapping) in the ring for reuse, and refill is batched: aq_ring_rx_fill() returns early until AQ_CFG_RX_REFILL_THRES slots are free. Slots that were consumed but not yet reposted therefore sit in the complementary [sw_tail, sw_head) gap with a live page, and the deinit walk never visits them: up to a refill batch worth of pages and DMA mappings leak on every interface down. Walk the whole ring instead and release whatever is still there. Also bail out if the buffer ring is already gone: a partial aq_ptp_ring_alloc() failure frees the ring but leaves aq_nic set, so aq_ptp_ring_deinit() still gets here on the unwind path.
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-74622
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
- Update the Linux kernel to the patched version.
- Ensure the atlantic driver is correctly configured.
- Verify RX page buffer deinitialization.
- Test interface down and restart functionality.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-74622.
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-74622 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-74622
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-74622 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-74622 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': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': '1e58b0bab40dcbdfc04acaba6a221d40801c3770', 'versionType': 'git'}, {'status': 'affected', 'version': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': '30c473ea097ef0c93b064281b3e295c97d17e28b', 'versionType': 'git'}, {'status': 'affected', 'version': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': '17c99dd86f169c7a3e73d6778e79ef5b1ed3ceac', 'versionType': 'git'}, {'status': 'affected', 'version': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': 'ff451bc4290b79c04f1c5cfa928d448f9d47ecf5', 'versionType': 'git'}, {'status': 'affected', 'version': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': '64e1346bc66b947eb80b848e4c8d9828ba50e0fe', 'versionType': 'git'}, {'status': 'affected', 'version': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': '782cc40b7ade4614a8aec0b948b8cf95c69f8d4b', 'versionType': 'git'}, {'status': 'affected', 'version': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': '24d87dc28ddd3771dd0e88719209811809729439', 'versionType': 'git'}, {'status': 'affected', 'version': '46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86', 'lessThan': 'e8e7471ef686b6c002218fee9671cc61992ae01a', 'versionType': 'git'}], 'programFiles': ['drivers/net/ethernet/aquantia/atlantic/aq_ring.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.2'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.2', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.265', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.216', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'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'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: net: atlantic: free RX pages of consumed but not refilled buffers aq_ring_rx_deinit() only walks [sw_head, sw_tail), the region posted to hardware. Since the page reuse strategy was added, a cleaned RX buffer keeps its page (and its DMA mapping) in the ring for reuse, and refill is batched: aq_ring_rx_fill() returns early until AQ_CFG_RX_REFILL_THRES slots are free. Slots that were consumed but not yet reposted therefore sit in the complementary [sw_tail, sw_head) gap with a live page, and the deinit walk never visits them: up to a refill batch worth of pages and DMA mappings leak on every interface down. Walk the whole ring instead and release whatever is still there. Also bail out if the buffer ring is already gone: a partial aq_ptp_ring_alloc() failure frees the ring but leaves aq_nic set, so aq_ptp_ring_deinit() still gets here on the unwind path. Added Reference https://git.kernel.org/stable/c/17c99dd86f169c7a3e73d6778e79ef5b1ed3ceac Added Reference https://git.kernel.org/stable/c/1e58b0bab40dcbdfc04acaba6a221d40801c3770 Added Reference https://git.kernel.org/stable/c/24d87dc28ddd3771dd0e88719209811809729439 Added Reference https://git.kernel.org/stable/c/30c473ea097ef0c93b064281b3e295c97d17e28b Added Reference https://git.kernel.org/stable/c/64e1346bc66b947eb80b848e4c8d9828ba50e0fe Added Reference https://git.kernel.org/stable/c/782cc40b7ade4614a8aec0b948b8cf95c69f8d4b Added Reference https://git.kernel.org/stable/c/e8e7471ef686b6c002218fee9671cc61992ae01a Added Reference https://git.kernel.org/stable/c/ff451bc4290b79c04f1c5cfa928d448f9d47ecf5