wifi: at76c50x-usb: avoid length underflow in at76_guess_freq()
In the Linux kernel, the following vulnerability has been resolved: wifi: at76c50x-usb: avoid length underflow in at76_guess_freq() at76_guess_freq() checks only that the received frame is at least a bare 802.11 header (24 bytes) before subtracting the fixed management-body offset: len -= el_off; For both beacon and probe response frames, el_off is 36. If the frame is shorter than el_off, subtracting it causes the calculated IE length to wrap. The length is eventually passed to cfg80211_find_elem_match() as a very large unsigned value, so the element walk runs beyond the RX skb. This path is reached from at76_rx_tasklet() while scanning. If the device delivers a truncated beacon or probe response, the oversized IE length causes an out-of-bounds read during scanning. Skip the IE lookup if the frame does not reach the variable elements, before subtracting el_off.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.265, 5.15.216, 6.1.183, 6.12.101, 6.18.42, 6.6.148, 7.1.6
- CVEs
- CVE-2026-68373
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 04:03 UTC · Revision 1
Source evidence
wifi: at76c50x-usb: avoid length underflow in at76_guess_freq()
core-osv · Original sourcePublished 10 Aug 2026, 12:03 UTC
In the Linux kernel, the following vulnerability has been resolved: wifi: at76c50x-usb: avoid length underflow in at76_guess_freq() at76_guess_freq() checks only that the received frame is at least a bare 802.11 header (24 bytes) before subtracting the fixed management-body offset: len -= el_off; For both beacon and probe response frames, el_off is 36. If the frame is shorter than el_off, subtracting it causes the calculated IE length to wrap. The length is eventually passed to cfg80211_find_elem_match() as a very large unsigned value, so the element walk runs beyond the RX skb. This path is reached from at76_rx_tasklet() while scanning. If the device delivers a truncated beacon or probe response, the oversized IE length causes an out-of-bounds read during scanning. Skip the IE lookup if the frame does not reach the variable elements, before subtracting el_off.
osv:CVE-2026-68373
Kernel
Fixed versions: 5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101, 6.18.42, 7.1.6
Complete source record
{
"id": "91ac5b0d4f73218e82c33f4a4eafda204a064ed6050f6abc60b5787753d1a95a",
"url": "https://osv.dev/vulnerability/CVE-2026-68373",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "wifi: at76c50x-usb: avoid length underflow in at76_guess_freq()",
"summary": "In the Linux kernel, the following vulnerability has been resolved: wifi: at76c50x-usb: avoid length underflow in at76_guess_freq() at76_guess_freq() checks only that the received frame is at least a bare 802.11 header (24 bytes) before subtracting the fixed management-body offset: len -= el_off; For both beacon and probe response frames, el_off is 36. If the frame is shorter than el_off, subtracting it causes the calculated IE length to wrap. The length is eventually passed to cfg80211_find_elem_match() as a very large unsigned value, so the element walk runs beyond the RX skb. This path is reached from at76_rx_tasklet() while scanning. If the device delivers a truncated beacon or probe response, the oversized IE length causes an out-of-bounds read during scanning. Skip the IE lookup if the frame does not reach the variable elements, before subtracting el_off.",
"evidence": "osv:CVE-2026-68373",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.265",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.216",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.183",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.148",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.101",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.42",
"evidence": "/affected/1/ranges"
},
{
"value": "7.1.6",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2026-68373",
"aliases": [
"CVE-2026-68373"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "1264b951463a00efebe1bb596499aaad620ec8af"
},
{
"fixed": "cb831aff2f850f72bc5ff5ad77d0a70bb5a84061"
},
{
"fixed": "4875680d1703f56afa6257ba30244f2fb44ed205"
},
{
"fixed": "b406f33d234f98c8b310fdab5cbb492d85e98e49"
},
{
"fixed": "e165a1d295e7e814e13b0f92c86e5d48309509ce"
},
{
"fixed": "bcde7249d45f52f994a9872bedf45994472ade77"
},
{
"fixed": "fb1b50ab699211e777dca5ccfb648788b6a6e519"
},
{
"fixed": "f742d9c98b5c504fc9e6744eef13a721c2aea486"
},
{
"fixed": "61a799ffd1e5a4fd3702d547828b7ff3d161468e"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68373.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.6.30"
},
{
"fixed": "5.10.265"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.216"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.183"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.148"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.101"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.42"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.1.6"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68373.json"
}
}
],
"modified": "2026-10-28T02:30:33.033380575Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/4875680d1703f56afa6257ba30244f2fb44ed205",
"https://git.kernel.org/stable/c/61a799ffd1e5a4fd3702d547828b7ff3d161468e",
"https://git.kernel.org/stable/c/b406f33d234f98c8b310fdab5cbb492d85e98e49",
"https://git.kernel.org/stable/c/bcde7249d45f52f994a9872bedf45994472ade77",
"https://git.kernel.org/stable/c/cb831aff2f850f72bc5ff5ad77d0a70bb5a84061",
"https://git.kernel.org/stable/c/e165a1d295e7e814e13b0f92c86e5d48309509ce",
"https://git.kernel.org/stable/c/f742d9c98b5c504fc9e6744eef13a721c2aea486",
"https://git.kernel.org/stable/c/fb1b50ab699211e777dca5ccfb648788b6a6e519",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68373.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-68373",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68373.json"
}
},
"related_cves": [
{
"value": "CVE-2026-68373",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 500210,
"published_at": "2026-08-10T12:03:51.663+00:00"
}