CVE-2026-74622 (GCVE-0-2026-74622)
Vulnerability from cvelistv5
Published
2026-08-22 15:32
Modified
2026-08-22 15:32
Severity ?
VLAI Severity ?
EPSS score ?
Summary
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.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 Version: 46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86 |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/aquantia/atlantic/aq_ring.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "1e58b0bab40dcbdfc04acaba6a221d40801c3770",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
},
{
"lessThan": "30c473ea097ef0c93b064281b3e295c97d17e28b",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
},
{
"lessThan": "17c99dd86f169c7a3e73d6778e79ef5b1ed3ceac",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
},
{
"lessThan": "ff451bc4290b79c04f1c5cfa928d448f9d47ecf5",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
},
{
"lessThan": "64e1346bc66b947eb80b848e4c8d9828ba50e0fe",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
},
{
"lessThan": "782cc40b7ade4614a8aec0b948b8cf95c69f8d4b",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
},
{
"lessThan": "24d87dc28ddd3771dd0e88719209811809729439",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
},
{
"lessThan": "e8e7471ef686b6c002218fee9671cc61992ae01a",
"status": "affected",
"version": "46f4c29d9de6e4a9d4ed7de9a37dd42501d89f86",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/aquantia/atlantic/aq_ring.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.2"
},
{
"lessThan": "5.2",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.265",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.216",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.183",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.152",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.104",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.45",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.265",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.216",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.183",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.152",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.104",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.45",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.9",
"versionStartIncluding": "5.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "5.2",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: atlantic: free RX pages of consumed but not refilled buffers\n\naq_ring_rx_deinit() only walks [sw_head, sw_tail), the region posted to\nhardware. Since the page reuse strategy was added, a cleaned RX buffer\nkeeps its page (and its DMA mapping) in the ring for reuse, and refill\nis batched: aq_ring_rx_fill() returns early until AQ_CFG_RX_REFILL_THRES\nslots are free. Slots that were consumed but not yet reposted therefore\nsit in the complementary [sw_tail, sw_head) gap with a live page, and\nthe deinit walk never visits them: up to a refill batch worth of pages\nand DMA mappings leak on every interface down.\n\nWalk the whole ring instead and release whatever is still there. Also\nbail out if the buffer ring is already gone: a partial\naq_ptp_ring_alloc() failure frees the ring but leaves aq_nic set, so\naq_ptp_ring_deinit() still gets here on the unwind path."
}
],
"providerMetadata": {
"dateUpdated": "2026-08-22T15:32:05.719Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/1e58b0bab40dcbdfc04acaba6a221d40801c3770"
},
{
"url": "https://git.kernel.org/stable/c/30c473ea097ef0c93b064281b3e295c97d17e28b"
},
{
"url": "https://git.kernel.org/stable/c/17c99dd86f169c7a3e73d6778e79ef5b1ed3ceac"
},
{
"url": "https://git.kernel.org/stable/c/ff451bc4290b79c04f1c5cfa928d448f9d47ecf5"
},
{
"url": "https://git.kernel.org/stable/c/64e1346bc66b947eb80b848e4c8d9828ba50e0fe"
},
{
"url": "https://git.kernel.org/stable/c/782cc40b7ade4614a8aec0b948b8cf95c69f8d4b"
},
{
"url": "https://git.kernel.org/stable/c/24d87dc28ddd3771dd0e88719209811809729439"
},
{
"url": "https://git.kernel.org/stable/c/e8e7471ef686b6c002218fee9671cc61992ae01a"
}
],
"title": "net: atlantic: free RX pages of consumed but not refilled buffers",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74622",
"datePublished": "2026-08-22T15:32:05.719Z",
"dateReserved": "2026-08-15T05:44:03.921Z",
"dateUpdated": "2026-08-22T15:32:05.719Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…