From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-98184][MODERATE 7.0] wifi: mwifiex: prevent authentication frame length truncation Date: Thu, 08 Oct 2026 10:36:26 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-98184 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: 5 X-AL-KERNEL-ActionableScore-Lower: unknown X-AL-KERNEL-Commit: 25c45a2075cc00faed45f92a64bb172fb074a2ee List-Id: CVE: CVE-2026-98184 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: wifi: mwifiex: prevent authentication frame length truncation Commit: 25c45a2075cc00faed45f92a64bb172fb074a2ee Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=25c45a2075cc00faed45f92a64bb172fb074a2ee Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98184 Analysis date: Thu, 08 Oct 2026 10:36:26 -0400 ActionableScore: 5 ActionableScore lower bound: unknown Actionable bucket: Actionable Moderate / Strong Important candidate requiring manual review Manual review required: YES Summary: No one-sentence report phrase was found. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-98184 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98184 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-98184 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-98184 CHECK WITH IMPACT FROM ORIG NN IMPORTANT | AEGIS IMPACT MODERATE_KPANIC AEGIS_AS=3 LEGACY=MODERATE_KPANIC RESULT=SAME (legacy and Aegis reconciliation agree; DECISION: both MODERATE_KPANIC) Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H';CWE-190;CWE-122;*CWE-787;Other CVSS 'AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H';BEST CVSS score: '7.8';DESCR 'A heap buffer overflow in the mwifiex authentication path occurs because authentication frame length is calculated from size_t values and truncated to a u16 pkt_len. A local attacker can provide oversized NL80211 authentication data so the driver allocates a small skb area but copies the original larger user controlled authentication payload into it. For the CVSS the PR:L is used because triggering requires CAP_NET_ADMIN in the user namespace that owns the network namespace. This capability can be available to a container root or a delegated service account and is not necessarily equivalent to full host administration. The issue is not directly network reachable because the overflowing data is supplied through a local nl80211 request. An active station interface and a suitable BSS SAE authentication request are also required. Impact includes kernel crash and may include confidentiality integrity impact or local privilege escalation due to the explicit controlled heap memory corruption.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Actionable Moderate / Strong Important candidate requiring manual review (with actual score 5) MAYBE REMOTE OOB NETWORK SKB KPANIC DECREASED_TO_MODERATE7_BASED_ON_FALSEPOSCHECKOFDH - - checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=5 PrimitiveClass=CLASS_A RealUAF=NO HostAdminRequired=UNKNOWN NamespaceScopedPrivilege=UNKNOWN ImportantCandidate=YES ManualReview=REQUIRED AutoDowngradeAllowed=NO 1. ActionableScore * Raw conservative score: 3 * Conservative score: 5 * Raw paranoid score: 4 * Paranoid score: 5 * Conservative controlled-corruption review floor applied: 3 -> 5 * Paranoid controlled-corruption review floor applied: 4 -> 5 * Final recommended bucket: **Actionable Moderate / Strong Important candidate requiring manual review**:: 2. Signal breakdown * +2 Strong corruption primitive. The patch and commit explicitly establish an attacker-controlled heap buffer overflow. A size_t authentication-frame length is truncated to u16, an undersized skb region is created, and the substantially larger user-provided authentication payload is copied into that region. * +1 Reliable kernel crash or strong DoS. A large overwrite of adjacent skb heap memory can realistically cause kernel memory corruption, an Oops, or a kernel crash. This is counted once only. * +1 Paranoid only. The supplied example gives a six-byte appended skb area followed by a copy of 65506 attacker-provided bytes. The size disparity makes corruption of multiple adjacent heap objects technically plausible, although the exact overwritten target and allocator layout are not established. Important non-awarded signals: * Controlled reclaim is not demonstrated. * Arbitrary or directed kernel write is not demonstrated. The attacker controls copied bytes and overflow length, but not the exact adjacent heap target. * Privilege escalation is not demonstrated. It remains a plausible consequence of the explicit controlled heap overwrite and requires manual exploitation review. * Confidentiality and integrity consequences are not separately awarded. No read-back, protected-object corruption, credential overwrite, or privilege-escalation chain is supplied. * Remote reachability is not established. The overflowing data is supplied through a local nl80211 authentication request. * Local unprivileged trigger is not awarded. The supplied evidence requires CAP_NET_ADMIN. * No privilege penalty is applied. The evidence does not positively establish that host-admin-equivalent privilege is required for the complete trigger. * No namespace-access bonus is applied. Although the capability check is stated to use the user namespace owning the network namespace, the complete operation also requires an active mwifiex station interface and suitable BSS SAE conditions. * No rare-hardware penalty is applied. The issue requires mwifiex-supported wireless hardware, but the supplied evidence does not establish physical-only attacker access or an unusually rare deployment requirement. 3. Reachability analysis The attacker is a local process able to send a crafted nl80211 authentication request with oversized NL80211_ATTR_AUTH_DATA. The supplied context positively establishes a CAP_NET_ADMIN requirement in the user namespace owning the network namespace. This does not prove host-admin-equivalent privilege. A host network administrator can clearly meet the requirement, but a delegated network-management service or a container-associated capability may also satisfy part of the requirement. Therefore HostAdminRequired is UNKNOWN rather than YES. NamespaceScopedPrivilege is also UNKNOWN. The capability check is described as namespace-aware, but the complete attack path additionally requires an up station-mode mwifiex netdev and a suitable BSS SAE authentication request. The supplied data does not establish that an attacker can independently provision or control all of those stages solely within an attacker-created namespace. The issue is not directly network reachable. A remote access point or BSS may be a protocol/environment prerequisite, but the oversized authentication data that causes the overflow is injected by the local nl80211 caller. There is no race requirement. Once the environmental prerequisites are present, the integer truncation and oversized copy are deterministic. 4. Primitive and severity interpretation The exact primitive is an attacker-influenced heap buffer overflow. The driver computes the authentication frame length from size_t values but truncates it to u16 before skb sizing. The subsequent copy retains the larger original authentication-data length. The provided example describes an skb expansion of six bytes followed by a copy of 65506 attacker-controlled bytes. This is not a UAF, RCU, refcount, or cleanup-lifetime issue. It is an active memory-layout violation involving inconsistent allocation length and copy length. The attacker controls both the oversized length condition and the copied authentication payload. However, the patch does not establish controlled heap placement, replacement of a selected kernel object, an arbitrary write destination, callback control, information disclosure, or a working privilege-escalation chain. The issue is CLASS_A because an explicit attacker-controlled kernel heap overwrite is directly established. The demonstrated practical consequence includes kernel instability or crash. Local privilege escalation, confidentiality impact, and integrity impact are plausible but not demonstrated and should not be treated as proven consequences. ImportantCandidate is YES because the explicit controlled heap overwrite requires Important-versus-Moderate exploitation analysis. AutoDowngradeAllowed is NO because automatically closing the issue as an ordinary configuration or crash-only bug would discard a concrete kernel memory-corruption primitive with unresolved exploitation leverage. Likely operational severity is Actionable Moderate at minimum. It is a Strong Important candidate if manual review confirms that a below-host-admin attacker can satisfy the complete wireless-interface prerequisites or that the overwrite can reliably corrupt exploitation-relevant heap objects. 5. One-sentence report phrase A local attacker with CAP_NET_ADMIN in the relevant user namespace can trigger an attacker-controlled heap buffer overflow in mwifiex authentication handling by supplying oversized NL80211 authentication data that truncates the skb allocation length while preserving the larger copy length. 6. Manual review recommendation MANUAL CHECK REQUIRED The patch establishes a deterministic attacker-controlled kernel heap overflow with a very large controlled payload, but the complete privilege boundary, wireless-interface provisioning conditions, and practical heap-exploitation leverage require subsystem-specific review. 7. Call-site confidence Call-site confidence: high ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: wifi: mwifiex: prevent authentication frame length truncation Commit: 25c45a2075cc00faed45f92a64bb172fb074a2ee Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=25c45a2075cc00faed45f92a64bb172fb074a2ee Commit description: mwifiex_cfg80211_authenticate() derives the authentication frame length from req->ie_len and req->auth_data_len, both of type size_t, but stores it in a u16. NL80211_ATTR_AUTH_DATA only has a minimum length policy. Since nla_len is a u16, a single attribute can carry up to 65531 bytes of payload, so the sum can exceed U16_MAX before it is assigned to pkt_len. The truncated pkt_len determines the skb frame area, while the copy length remains req->auth_data_len - 4, resulting in a heap buffer overflow. For example, with auth_data_len equal to 65510 and no IEs, the sum is 65546. It is truncated to 10 and then reduced by four to 6. The driver appends only six bytes to the skb with skb_put(), but then copies 65506 user-provided bytes into the authentication body. Reaching this path requires CAP_NET_ADMIN in the user namespace owning the network namespace, an up station netdev, and a suitable BSS/SAE authentication request. Compute the length in size_t, reject values that cannot be represented by the firmware's u16 frame length field, and only then assign it to pkt_len. Fixes: 3699589 ("wifi: mwifiex: add host mlme for client mode") Cc: stable@vger.kernel.org # 6.12+ Signed-off-by: Linmao Li Link: https://patch.msgid.link/20260820062155.3981976-1-lilinmao@kylinos.cn Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman Changed files: drivers/net/wireless/marvell/mwifiex/cfg80211.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=25c45a2075cc00faed45f92a64bb172fb074a2ee ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-98184 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98184 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:L/UI:N/S:U/C:H/I:H/A:H The Best / paranoid CVSS vector: AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H The Best / paranoid CVSS score: 7.8 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: unknown Paranoid ActionableScore: 5 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).