GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-80933 (GCVE-0-2026-80933)

Vulnerability from cvelistv5 – Published: 2026-09-11 19:42 – Updated: 2026-09-14 11:59
VLAI
Title
wifi: mt76: mt7996: validate default EEPROM firmware size
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: validate default EEPROM firmware size The default EEPROM firmware is parsed and copied as a full EEPROM without checking its length. A truncated file can make the driver read beyond the firmware buffer during variant validation or the fallback copy. Reject files shorter than MT7996_EEPROM_SIZE before parsing or copying the firmware.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 98686cd21624c75a043e96812beadddf4f6f48e5 , < b4bf67cc0871b13103c404b38e332b9d4403a0da (git)
Affected: 98686cd21624c75a043e96812beadddf4f6f48e5 , < 127a291f4c8069a4e71906938402cacfe24ee8cd (git)
Affected: 98686cd21624c75a043e96812beadddf4f6f48e5 , < 03b81f015dbb29807ce1ec6d45537d658abdac69 (git)
Affected: 98686cd21624c75a043e96812beadddf4f6f48e5 , < 7074ec3769820302f1ccf8794a40a6582153b820 (git)
Affected: 98686cd21624c75a043e96812beadddf4f6f48e5 , < 653c6e289b13cc6942f3e8f8e3c568e70fa42d1f (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.2
Unaffected: 0 , < 6.2 (semver)
Unaffected: 6.6.157 , ≤ 6.6.* (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.50 , ≤ 6.18.* (semver)
Unaffected: 7.2.4 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b4bf67cc0871b13103c404b38e332b9d4403a0da",
              "status": "affected",
              "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
              "versionType": "git"
            },
            {
              "lessThan": "127a291f4c8069a4e71906938402cacfe24ee8cd",
              "status": "affected",
              "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
              "versionType": "git"
            },
            {
              "lessThan": "03b81f015dbb29807ce1ec6d45537d658abdac69",
              "status": "affected",
              "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
              "versionType": "git"
            },
            {
              "lessThan": "7074ec3769820302f1ccf8794a40a6582153b820",
              "status": "affected",
              "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
              "versionType": "git"
            },
            {
              "lessThan": "653c6e289b13cc6942f3e8f8e3c568e70fa42d1f",
              "status": "affected",
              "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.2"
            },
            {
              "lessThan": "6.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "6.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mt76: mt7996: validate default EEPROM firmware size\n\nThe default EEPROM firmware is parsed and copied as a full EEPROM\nwithout checking its length. A truncated file can make the driver\nread beyond the firmware buffer during variant validation or the\nfallback copy.\n\nReject files shorter than MT7996_EEPROM_SIZE before parsing or\ncopying the firmware."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The truncated default EEPROM image is consumed only via request_firmware() on the local PCI probe path (mt7996_pci_probe \u2192 mt7996_register_device \u2192 mt7996_init_hardware \u2192 mt7996_eeprom_init \u2192 mt7996_eeprom_check_or_use_default); WiFi frames, network protocols, and USB traffic never reach this parser.\nAC:L - A non-empty file shorter than MT7996_EEPROM_SIZE (7680 bytes) deterministically over-reads: variant validation indexes fw-\u003edata at MT_EE_WIFI_CONF, and a crafted WIFI_CONF that fails the match (or the common use_default fallback) takes memcpy(eeprom, fw-\u003edata, 7680) with no race or layout luck.\nPR:L - The parse path has no capability check, and default EEPROM blobs live under /lib/firmware/mediatek/mt7996/ and vendor firmware partitions on OpenWrt/AP/Android Filogic deployments that are often writable by non-root system or OTA accounts, so a low-privileged local user can position the truncated image.\nUI:N - Once the truncated EEPROM firmware file is in place, request_firmware() and the subsequent parse/copy run automatically during driver probe at boot or module bind; no victim action such as opening a device node or mounting a filesystem is required.\nS:U - The out-of-bounds read and the EEPROM/MCU state it poisons remain inside the host kernel and the local MT7996 device; this is not a VM escape, IOMMU bypass, or other cross-authority breakout.\nC:H - memcpy(..., 7680) and mt7996_eeprom_parse_stream() read far past the firmware buffer into eeprom.data, which is then used as the interface MAC, exposed via the 0400 debugfs eeprom blob, and uploaded to the MCU\u2014an unbounded kernel-memory disclosure, not a few-byte leak.\nI:H - The fallback memcpy writes the over-read kernel memory into the live 7680-byte EEPROM object that then drives MAC/capability configuration and mt7996_mcu_set_eeprom() programming of the WiFi 7 MCU, so attacker-influenced data corrupts kernel and device control state; memory-corruption copies are rated High.\nA:H - Firmware buffers are vmalloc/vmap allocations with guard pages, so a 7680-byte over-read from a short file reliably faults into an unmapped page and oopses or panics the kernel during probe of MT7996/MT7992/MT7990 hardware."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-14T11:59:00.078Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b4bf67cc0871b13103c404b38e332b9d4403a0da"
        },
        {
          "url": "https://git.kernel.org/stable/c/127a291f4c8069a4e71906938402cacfe24ee8cd"
        },
        {
          "url": "https://git.kernel.org/stable/c/03b81f015dbb29807ce1ec6d45537d658abdac69"
        },
        {
          "url": "https://git.kernel.org/stable/c/7074ec3769820302f1ccf8794a40a6582153b820"
        },
        {
          "url": "https://git.kernel.org/stable/c/653c6e289b13cc6942f3e8f8e3c568e70fa42d1f"
        }
      ],
      "title": "wifi: mt76: mt7996: validate default EEPROM firmware size",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80933",
    "datePublished": "2026-09-11T19:42:07.754Z",
    "dateReserved": "2026-08-26T14:34:25.802Z",
    "dateUpdated": "2026-09-14T11:59:00.078Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80933",
      "date": "2026-09-17",
      "epss": "0.00128",
      "percentile": "0.02853"
    },
    "microsoft_vex": {
      "current_release_date": "2026-09-15T01:54:11.000Z",
      "cve": "CVE-2026-80933",
      "id": "msrc_CVE-2026-80933",
      "initial_release_date": "2026-09-13T01:04:29.000Z",
      "product_status:known_not_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "wifi: mt76: mt7996: validate default EEPROM firmware size",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-80933.json",
      "version": "3"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "b4bf67cc0871b13103c404b38e332b9d4403a0da",
                    "status": "affected",
                    "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "127a291f4c8069a4e71906938402cacfe24ee8cd",
                    "status": "affected",
                    "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "03b81f015dbb29807ce1ec6d45537d658abdac69",
                    "status": "affected",
                    "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7074ec3769820302f1ccf8794a40a6582153b820",
                    "status": "affected",
                    "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "653c6e289b13cc6942f3e8f8e3c568e70fa42d1f",
                    "status": "affected",
                    "version": "98686cd21624c75a043e96812beadddf4f6f48e5",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.2"
                  },
                  {
                    "lessThan": "6.2",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.157",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.110",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.50",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mt76: mt7996: validate default EEPROM firmware size\n\nThe default EEPROM firmware is parsed and copied as a full EEPROM\nwithout checking its length. A truncated file can make the driver\nread beyond the firmware buffer during variant validation or the\nfallback copy.\n\nReject files shorter than MT7996_EEPROM_SIZE before parsing or\ncopying the firmware."
          }
        ],
        "id": "CVE-2026-80933",
        "lastModified": "2026-09-14T13:18:49.650",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-11T20:18:57.160",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/03b81f015dbb29807ce1ec6d45537d658abdac69"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/127a291f4c8069a4e71906938402cacfe24ee8cd"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/653c6e289b13cc6942f3e8f8e3c568e70fa42d1f"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7074ec3769820302f1ccf8794a40a6582153b820"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b4bf67cc0871b13103c404b38e332b9d4403a0da"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-14T14:48:19+00:00",
      "cve": "CVE-2026-80933",
      "id": "CVE-2026-80933",
      "initial_release_date": "2026-09-11T00:00:00+00:00",
      "product_status:known_not_affected": "276",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: wifi: mt76: mt7996: validate default EEPROM firmware size",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80933.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "low",
      "current_release_date": "2026-09-15T01:06:10Z",
      "cve": "CVE-2026-80933",
      "id": "CVE-2026-80933",
      "initial_release_date": "2026-09-15T01:06:10Z",
      "product_status:known_affected": "114",
      "product_status:known_not_affected": "239",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-80933",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-80933.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…