{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68373","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-30T09:28:09.386Z","datePublished":"2026-08-10T12:03:51.663Z","dateUpdated":"2026-08-19T16:34:33.308Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-19T16:34:33.308Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: at76c50x-usb: avoid length underflow in at76_guess_freq()\n\nat76_guess_freq() checks only that the received frame is at least a bare\n802.11 header (24 bytes) before subtracting the fixed management-body\noffset:\n\n\tlen -= el_off;\n\nFor both beacon and probe response frames, el_off is 36. If the frame is\nshorter than el_off, subtracting it causes the calculated IE length to\nwrap. The length is eventually passed to cfg80211_find_elem_match() as a\nvery large unsigned value, so the element walk runs beyond the RX skb.\n\nThis path is reached from at76_rx_tasklet() while scanning. If the device\ndelivers a truncated beacon or probe response, the oversized IE length\ncauses an out-of-bounds read during scanning.\n\nSkip the IE lookup if the frame does not reach the variable elements,\nbefore subtracting el_off."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","baseScore":8.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - The malformed frame is an over-the-air 802.11 beacon or probe response received by the at76c50x USB WLAN dongle and parsed in at76_rx_tasklet(); an attacker only needs to be within radio range of the victim, which is the adjacent-network (WiFi frame injection) case.\nAC:L - The attacker simply transmits a beacon/probe response whose body is shorter than the 36-byte fixed management offset with a valid FCS, and can repeat it continuously or answer the victim's probe requests during the routine scans that set priv->scanning, so triggering is reliable and fully attacker-timed.\nPR:N - No authentication, association, or any local privilege is required; the frame is parsed during scanning before any association or key exchange, so an entirely unauthenticated radio-range attacker reaches the bug.\nUI:N - Background and periodic scans are issued automatically by wpa_supplicant/NetworkManager without any user action, so no victim interaction is needed for the vulnerable path to run.\nS:U - The out-of-bounds read stays within the kernel's own memory and security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The underflowed length becomes ~4GB when widened to unsigned int, so the element walk reads far past the ~2.5KB RX skb slab object, and the out-of-bounds byte taken as el[2] is turned into rx_status.freq that userspace observes in scan results, allowing repeated frames to leak adjacent kernel heap contents.\nI:N - The defect is purely a read overrun; nothing outside the skb is written and the only attacker-influenced value is the reported channel/frequency, giving no memory-corruption or control-flow primitive.\nA:H - The unbounded element walk runs off the slab and can dereference unmapped memory while executing in tasklet/softirq context, producing a kernel oops or panic that the attacker can trigger repeatedly with injected frames."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/atmel/at76c50x-usb.c"],"versions":[{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"cb831aff2f850f72bc5ff5ad77d0a70bb5a84061","status":"affected","versionType":"git"},{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"4875680d1703f56afa6257ba30244f2fb44ed205","status":"affected","versionType":"git"},{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"b406f33d234f98c8b310fdab5cbb492d85e98e49","status":"affected","versionType":"git"},{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"e165a1d295e7e814e13b0f92c86e5d48309509ce","status":"affected","versionType":"git"},{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"bcde7249d45f52f994a9872bedf45994472ade77","status":"affected","versionType":"git"},{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"fb1b50ab699211e777dca5ccfb648788b6a6e519","status":"affected","versionType":"git"},{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"f742d9c98b5c504fc9e6744eef13a721c2aea486","status":"affected","versionType":"git"},{"version":"1264b951463a00efebe1bb596499aaad620ec8af","lessThan":"61a799ffd1e5a4fd3702d547828b7ff3d161468e","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/atmel/at76c50x-usb.c"],"versions":[{"version":"2.6.30","status":"affected"},{"version":"0","lessThan":"2.6.30","status":"unaffected","versionType":"semver"},{"version":"5.10.265","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.216","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.183","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.148","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.101","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.42","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.6","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"5.10.265"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"5.15.216"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.1.183"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.6.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.12.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.18.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"7.1.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/cb831aff2f850f72bc5ff5ad77d0a70bb5a84061"},{"url":"https://git.kernel.org/stable/c/4875680d1703f56afa6257ba30244f2fb44ed205"},{"url":"https://git.kernel.org/stable/c/b406f33d234f98c8b310fdab5cbb492d85e98e49"},{"url":"https://git.kernel.org/stable/c/e165a1d295e7e814e13b0f92c86e5d48309509ce"},{"url":"https://git.kernel.org/stable/c/bcde7249d45f52f994a9872bedf45994472ade77"},{"url":"https://git.kernel.org/stable/c/fb1b50ab699211e777dca5ccfb648788b6a6e519"},{"url":"https://git.kernel.org/stable/c/f742d9c98b5c504fc9e6744eef13a721c2aea486"},{"url":"https://git.kernel.org/stable/c/61a799ffd1e5a4fd3702d547828b7ff3d161468e"}],"title":"wifi: at76c50x-usb: avoid length underflow in at76_guess_freq()","x_generator":{"engine":"bippy-1.2.0"}}}}