From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-90379][MODERATE 7.0] wifi: mt76: mt7921: Add PCIe AER handler support to prevent system crash [ Upstream Date: Thu, 17 Sep 2026 15:33:24 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-90379 X-AL-KERNEL-Priority: MODERATE 7.0 X-AL-KERNEL-Severity: MODERATE 7.0 X-AL-KERNEL-Base-Severity: MODERATE X-AL-KERNEL-KPANIC: YES X-AL-KERNEL-ActionableScore: 4 X-AL-KERNEL-ActionableScore-Lower: 3 X-AL-KERNEL-Commit: 670b3dc4e3713542a9f002d38fb9d1740b9e342b List-Id: CVE: CVE-2026-90379 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: wifi: mt76: mt7921: Add PCIe AER handler support to prevent system crash [ Upstream Commit: 670b3dc4e3713542a9f002d38fb9d1740b9e342b Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=670b3dc4e3713542a9f002d38fb9d1740b9e342b Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90379 Analysis date: Thu, 17 Sep 2026 15:33:24 -0400 ActionableScore: 4 ActionableScore lower bound: 3 Actionable bucket: Borderline / manual review recommended Manual review required: YES Summary: No one-sentence report phrase was found. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-90379 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90379 The original announcement does not normally provide a security severity estimate, CVSS assessment, or enough information to determine whether the reported kernel bug represents a practically relevant security issue. This report was generated by AL-KERNEL, an AI-assisted Linux kernel vulnerability analysis system developed by Alexander Larkin. It combines an autonomous classifier with LLM-assisted technical analysis and a separate ActionableScore mechanism. The purpose of this report is to prioritize Linux kernel CVEs before manual review, identify cases that require prompt investigation, and support automatic closure of issues that are unlikely to have meaningful security impact. Published priority for this report: MODERATE 7.0 Manual review required: YES A detailed explanation of the methodology and priority rules is included at the end of this message. ====================================================================== AL-KERNEL CLASSIFICATION RESULT ====================================================================== CVE-2026-90379 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-90379 CHECK WITH IMPACT FROM ORIG NN MODERATE Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H';CWE-129;*CWE-787;CWE-125;Other CVSS 'AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H';BEST CVSS score: '7';DESCR 'mt76 mt7921 PCIe AER handling can leave the driver reading 0xffffffff from MMIO registers while the bus is hung. That value can be used as a DMA queue index and can corrupt q head or q tail, leading to out of range access to q desc or q entry and a kernel crash. For the CVSS the PR:L is used for the paranoid score because a reduced privilege local process with delegated device or network control may be able to drive reset and recovery paths, but reliable generation of a PCIe AER bus hung condition is environment dependent. The issue is not directly reachable from normal Wi-Fi packet traffic and usually depends on local hardware error conditions or privileged fault injection. Impact is at least denial of service. Because the corrupted queue index can lead to invalid descriptor or entry array access, a memory corruption risk is plausible enough for manual review.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Borderline / manual review recommended (with actual score 4) YES REMOTE READ OOB DANGER INIT ERRORPATH NETWORK SKB DMAorINTERRUPT KERNEL_PANIC_PLUS_UAF HARDWARE TEST KPANIC MEMORY NO NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=4 ActionableScoreLower=3 PrimitiveClass=CLASS_B RealUAF=NO HostAdminRequired=UNKNOWN NamespaceScopedPrivilege=NO ImportantCandidate=NO ManualReview=RECOMMENDED AutoDowngradeAllowed=YES 1. ActionableScore * Raw conservative score: 3 * Conservative score: 3. No floor or cap applied. * Raw paranoid score: 4 * Paranoid score: 4. No floor or cap applied. * Final recommended bucket: **Borderline / manual review recommended**:: 2. Signal breakdown Conservative positive signals: * +1 Constrained kernel memory corruption candidate. A DMA index read from hardware can become 0xffffffff during a hung PCIe bus and is used as a queue index, corrupting q->head or q->tail and leading to out-of-range q->desc or q->entry access. * +1 Reliable kernel crash / strong DoS. The supplied trace shows a kernel paging request failure in mt76_dma_add_buf after reset handling. * +1 Memory layout / ring index invariant restoration. The patch restores the invariant that DMA queue indexes must be less than q->ndesc before being used for ring state and descriptor access. Paranoid additional signal: * +1 Privileged kernel/device-management memory corruption concern. The corrupted state is active DMA queue bookkeeping and descriptor/entry indexing, so the issue is more meaningful than a passive warning or ordinary device-local error, although attacker control is not demonstrated. Important non-awarded signals: * RealUAF not awarded. No use-after-free or stale post-lifetime object use is established. * Controlled reclaim not demonstrated. * Arbitrary or directed kernel write not demonstrated. * Strong LPE leverage not awarded. The corrupted value is the hardware/bus failure value 0xffffffff, not an attacker-shaped payload or selected target. * Remote reachability not awarded. Normal Wi-Fi packet traffic is not shown to directly trigger the vulnerable condition. * Local unprivileged trigger not awarded. The complete path to reliably create the PCIe AER bus-hung condition below host admin is not established. * Extra availability not awarded. The crash is already counted once. * Confidentiality and integrity impact not awarded. The patch supports invalid access and crash, but not disclosure, privilege escalation, or attacker-controlled corruption of security-sensitive state. Repeated release/refcount checklist: * First release can end lifetime: no evidence. * Exact same reference survives: not applicable. * Second lifetime/refcount mutation: not established. * Concrete repeated release/refcount +1: not awarded. * Paranoid repeated-refcount leverage +1: not awarded. * FLOOR 5: not applied. 3. Reachability analysis The immediate trigger is a PCIe AER error or hung bus condition where MMIO register reads return 0xffffffff. The vulnerable software behavior then occurs in mt76 DMA reset and queue handling when that value is used as a DMA queue index. The complete attacker model is unresolved. A normal remote Wi-Fi peer is not shown to be able to directly force PCIe AER or a persistent bus-hung state. A local process with delegated device or network-management authority may be able to exercise reset and recovery paths, but the supplied evidence does not prove that such a process can reliably create the underlying AER condition. Host-admin-equivalent privilege is also not positively established as required for every trigger, so HostAdminRequired is UNKNOWN rather than YES. Namespace-scoped privilege is NO for the supplied evidence. The issue is tied to a physical PCIe Wi-Fi device and driver state, not to a demonstrated attacker-created network namespace object where all required operations are namespace-scoped. There is a hardware prerequisite: an affected mt7921 PCIe Wi-Fi device and an AER or bus-hung event. This is hardware-specific, but not scored as rare physical-only hardware because mt7921-class PCIe Wi-Fi devices are plausible real deployments. No race penalty is applied because the issue is an invalid hardware-derived index/state condition, not a proven narrow timing race. 4. Primitive and severity interpretation The exact primitive is an unchecked hardware-derived DMA queue index. When the PCIe bus is hung, register reads return 0xffffffff. That value can be copied into active DMA queue state such as q->head or q->tail and later used to index q->desc[] or q->entry[], causing invalid memory access and a kernel crash. This is active driver/DMA queue state, not fixed stale storage and not a lifetime bug. There is no concrete repeated release/refcount operation. The demonstrated consequence is host kernel crash / DoS. The speculative concern is constrained kernel memory corruption through out-of-range descriptor or entry array access, but the supplied evidence does not show attacker-controlled payload, target selection, reclaim, callback control, credential manipulation, or privilege escalation. PrimitiveClass is CLASS_B because a real active kernel queue-state corruption / invalid index primitive is established, but it is constrained and hardware-error mediated. ImportantCandidate is NO because meaningful Important-grade exploitation leverage beyond crash is not established. AutoDowngradeAllowed is YES because this appears to be a constrained device/DMA error-handling crash with unresolved but weak exploitation leverage, not a demonstrated strong memory corruption or security-boundary bypass. Likely operational severity: borderline to actionable Moderate depending on product exposure and whether local or remote actors can realistically induce PCIe AER/bus-hung conditions on the target platform. 5. One-sentence report phrase mt76 mt7921 can use 0xffffffff returned from a hung PCIe bus as a DMA queue index, corrupting queue state and causing out-of-range q->desc or q->entry access that can crash the kernel, but direct remote or unprivileged triggering is not established. 6. Manual review recommendation MANUAL CHECK RECOMMENDED The issue involves active DMA queue index corruption and out-of-range descriptor or entry access, so it should not be treated as a pure warning. Manual review should focus on whether any realistic attacker can induce the PCIe AER bus-hung condition and whether the invalid q->head or q->tail value can do more than crash on affected platforms. 7. Call-site confidence Call-site confidence: medium ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: wifi: mt76: mt7921: Add PCIe AER handler support to prevent system crash [ Upstream Commit: 670b3dc4e3713542a9f002d38fb9d1740b9e342b Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=670b3dc4e3713542a9f002d38fb9d1740b9e342b Changed files: drivers/net/wireless/mediatek/mt76/dma.c drivers/net/wireless/mediatek/mt76/mcu.c drivers/net/wireless/mediatek/mt76/mt76_connac.h drivers/net/wireless/mediatek/mt76/mt7921/mac.c drivers/net/wireless/mediatek/mt76/mt7921/pci.c Diff excerpt: Not included in this email. See the upstream URL for the full patch. Full patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=670b3dc4e3713542a9f002d38fb9d1740b9e342b ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-90379 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90379 The original CVE announcement normally does not include a security-level estimate. In particular, it may not contain a CVSS assessment, an impact level, or enough information to determine whether the reported bug is a practically relevant security issue. One purpose of this parallel CVE list is to provide that missing technical and prioritization information. The original goal of the AL-KERNEL project was to prioritize Linux kernel CVE analysis automatically before manual review. The system can also help identify non-security issues that may be suitable for automatic closure. This report was generated by AL-KERNEL, an AI-assisted Linux kernel vulnerability analysis system developed by Alexander Larkin. The first analysis stage combines an autonomous classifier with additional LLM-based analysis. The autonomous classifier runs locally on a CPU and is based on a backpropagation neural network. Together, these mechanisms produce a technical vulnerability description, identify likely weakness types, estimate CVSS severity, and provide input for ActionableScore. Two CVSS estimates are retained because incomplete kernel vulnerability information often permits more than one defensible interpretation: Conservative CVSS vector: AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H The Best / paranoid CVSS vector: AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H The Best / paranoid CVSS score: 7 The conservative vector represents a lower-impact interpretation. The Best/paranoid vector intentionally represents a plausible upper-bound interpretation and should not automatically be treated as demonstrated real-world impact. CVSS may also need to be adjusted for a particular Linux deployment, because actual reachability, privileges, enabled kernel configuration, hardware, namespaces, exposed device nodes, and other environmental conditions can differ significantly between systems. A separate ActionableScore mechanism evaluates practical remediation urgency. Its analysis may include reachability, attack prerequisites, subsystem exposure, memory-corruption characteristics, denial-of-service reliability, and possible confidentiality, integrity, or privilege-escalation impact. Conservative ActionableScore: 3 Paranoid ActionableScore: 4 The final base severity is taken directly from the second tab-separated field of the AL-KERNEL classification result. ActionableScore does not replace or independently override that final AL-KERNEL decision, and if ActionableScore adjusted impact level of ALKERNEL, then you would see self-readable flags above like INCREASED_TO_HIGH_BASED_ON_ACTIONABLESCOREHIGHEREQTHAN7. For an AL-KERNEL result of MODERATE, this report uses the following additional presentation split: ActionableScore below 5 -> MODERATE REGULAR ActionableScore 5 or more -> MODERATE 7.0 The distinction between MODERATE REGULAR and MODERATE 7.0 makes it possible to identify Moderate issues that should receive manual analysis and fixes before lower-priority MODERATE REGULAR issues. In many cases, MODERATE REGULAR fixes may wait for a later rebase or routine update. There is one override in which MODERATE REGULAR becomes MODERATE 7.0 even when the ActionableScore is below 5. When the AL-KERNEL result contains the KPANIC flag, a MODERATE result is always presented as MODERATE 7.0. The KPANIC flag selected with few regexps without usage of AI at all, so it helps to detect cases when Kernel Crash happens and similar (to filter False-Negative results from the LLM usage). KPANIC indicates that a reliable kernel crash, kernel panic, or similarly serious kernel availability impact was identified by the classification workflow. AL-KERNEL base severity for this report: MODERATE KPANIC detected for this report: YES Published priority for this report (same as in Subject): MODERATE 7.0 These results are intended to support engineering triage. They are machine-generated estimates, and cases marked for manual review should be validated by a human security engineer before final disposition. For more info read docs linked from here: https://kernelcve.org/ (and you can submit you own patch there to generate such a report for non-existant CVE-id yet). Note that in many cases this AI tool selects higher severity, than real is (means you can expect Importants instead of Moderate 7.0 or Moderates 7.0 instead of regular Moderates). If you see such cases, please use reply email interface to add additional manual analyses info to this particular CVE. And please, please, let me know when you see Lows instead of Importants or Important instead of Low (because particular for such cases I need to tune this AI tool to make it better for this one and next similar). My contact email for such notifications is alexanjelausa@gmail.com (and both send reply to CVE record itself too and see "reply" button below for howto reply).