{"id":"CVE-2022-49129","state":"PUBLISHED","title":"mt76: mt7921: fix crash when startup fails.","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmt76: mt7921: fix crash when startup fails.\n\nIf the nic fails to start, it is possible that the\nreset_work has already been scheduled.  Ensure the\nwork item is canceled so we do not have use-after-free\ncrash in case cleanup is called before the work item\nis executed.\n\nThis fixes crash on my x86_64 apu2 when mt7921k radio\nfails to work.  Radio still fails, but OS does not\ncrash.","publishedAt":"2025-02-26T01:55:05.624Z","updatedAt":"2026-08-12T23:57:54.463Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"38fbe806645090c07aa97171f20fc62c3d7d3a98","versionType":"git"},{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"c1a5e6002ec441a3b9fb4d048b4b49ae93409a46","versionType":"git"},{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"ac1260b661c2ef0d0a56680cdb5672b931b7be8f","versionType":"git"},{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"827e7799c61b978fbc2cc9dac66cb62401b2b3f0","versionType":"git"},{"version":"bea85ed1f508023e1586ede6a622f35fe910857b","status":"affected","versionType":"git"},{"version":"5.12.16","status":"affected","lessThan":"5.13","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/mediatek/mt76/mt7921/main.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.34","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16.20","status":"unaffected","lessThanOrEqual":"5.16.*","versionType":"semver"},{"version":"5.17.3","status":"unaffected","lessThanOrEqual":"5.17.*","versionType":"semver"},{"version":"5.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/mediatek/mt76/mt7921/main.c"]}],"references":["https://git.kernel.org/stable/c/38fbe806645090c07aa97171f20fc62c3d7d3a98","https://git.kernel.org/stable/c/c1a5e6002ec441a3b9fb4d048b4b49ae93409a46","https://git.kernel.org/stable/c/ac1260b661c2ef0d0a56680cdb5672b931b7be8f","https://git.kernel.org/stable/c/827e7799c61b978fbc2cc9dac66cb62401b2b3f0"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49129.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49129","state":"PUBLISHED","datePublished":"2025-02-26T01:55:05.624Z","dateUpdated":"2026-08-12T23:57:54.463Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-02-26T01:49:39.266Z"},"containers":{"cna":{"title":"mt76: mt7921: fix crash when startup fails.","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmt76: mt7921: fix crash when startup fails.\n\nIf the nic fails to start, it is possible that the\nreset_work has already been scheduled.  Ensure the\nwork item is canceled so we do not have use-after-free\ncrash in case cleanup is called before the work item\nis executed.\n\nThis fixes crash on my x86_64 apu2 when mt7921k radio\nfails to work.  Radio still fails, but OS does not\ncrash."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"38fbe806645090c07aa97171f20fc62c3d7d3a98","versionType":"git"},{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"c1a5e6002ec441a3b9fb4d048b4b49ae93409a46","versionType":"git"},{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"ac1260b661c2ef0d0a56680cdb5672b931b7be8f","versionType":"git"},{"version":"0c1ce988460765ece1ba8eacd00533eefb6e666a","status":"affected","lessThan":"827e7799c61b978fbc2cc9dac66cb62401b2b3f0","versionType":"git"},{"version":"bea85ed1f508023e1586ede6a622f35fe910857b","status":"affected","versionType":"git"},{"version":"5.12.16","status":"affected","lessThan":"5.13","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/mediatek/mt76/mt7921/main.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.34","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16.20","status":"unaffected","lessThanOrEqual":"5.16.*","versionType":"semver"},{"version":"5.17.3","status":"unaffected","lessThanOrEqual":"5.17.*","versionType":"semver"},{"version":"5.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/wireless/mediatek/mt76/mt7921/main.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/38fbe806645090c07aa97171f20fc62c3d7d3a98"},{"url":"https://git.kernel.org/stable/c/c1a5e6002ec441a3b9fb4d048b4b49ae93409a46"},{"url":"https://git.kernel.org/stable/c/ac1260b661c2ef0d0a56680cdb5672b931b7be8f"},{"url":"https://git.kernel.org/stable/c/827e7799c61b978fbc2cc9dac66cb62401b2b3f0"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The UAF is in the mt7921 PCIe/SDIO WiFi driver’s stop/cleanup path when a pending reset_work races with teardown; exploitation requires local ability to drive the interface/driver lifecycle, not remote packet parsing alone.\nAC:L - Once MCU timeouts or failure paths have scheduled reset_work, a local attacker who can bring the interface down or otherwise trigger stop/cleanup controls the other side of the race and can retry until it wins.\nPR:L - Triggering stop only needs privileges to manage the wireless interface (e.g., NetworkManager/polkit or Android Wi‑Fi controls), which are commonly available to ordinary local users and do not require full root.\nUI:N - No separate victim action is required; the attacker (or automated interface management they influence) can initiate the stop/cleanup that races with reset_work.\nS:U - Impact is confined to the local kernel/host authority; this is a standard driver UAF without a VM, IOMMU, or other security-boundary escape.\nC:H - Use-after-free of driver/device state can be leveraged for arbitrary kernel memory disclosure via reclaim and controlled reuse of the freed object.\nI:H - The same UAF enables heap reuse and control-flow hijacking primitives, so integrity impact includes arbitrary kernel write / code execution potential.\nA:H - The bug causes a kernel oops/crash when reset_work runs against already-cleaned-up state, fully disrupting system availability."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-12T23:57:54.463Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.15.34"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.16.20"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.17.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.18"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12.16"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2022-49129","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2025-02-27T18:17:14.426944Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-02-27T18:22:34.818Z"}}]}}}