From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-98175][MODERATE 7.0] smb: client: cancel reconnect work in clean_demultiplex_info() Date: Thu, 08 Oct 2026 06:58: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-98175 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: 180380272f116dbd2b0354c5c7872e112e519149 List-Id: CVE: CVE-2026-98175 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: smb: client: cancel reconnect work in clean_demultiplex_info() Commit: 180380272f116dbd2b0354c5c7872e112e519149 Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=180380272f116dbd2b0354c5c7872e112e519149 Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98175 Analysis date: Thu, 08 Oct 2026 06:58:26 -0400 ActionableScore: 5 ActionableScore lower bound: unknown Actionable bucket: Actionable Moderate Manual review required: NO Summary: No one-sentence report phrase was found. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-98175 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98175 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: NO A detailed explanation of the methodology and priority rules is included at the end of this message. ====================================================================== AL-KERNEL CLASSIFICATION RESULT ====================================================================== CVE-2026-98175 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-98175 CHECK WITH IMPACT FROM ORIG NN MODERATE | AEGIS IMPACT MODERATE_KPANIC AEGIS_AS=4 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:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H';*CWE-416;CWE-362;*CWE-664;Other CVSS 'AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H';BEST CVSS score: '7';DESCR 'A use after free can occur in the SMB client when clean_demultiplex_info frees a TCP_Server_Info object while delayed reconnect work remains queued on cifsiod_wq. The queued smb2_reconnect_server callback can later dereference the freed server object after a reconnect was scheduled during demultiplex thread teardown. A malicious SMB server or an attacker able to interfere with the SMB transport may trigger reconnect activity and race it with connection teardown. For the CVSS the PR:N is used because the attacker needs no local privileges on the victim after the victim has established an SMB client connection. The attack is network reachable but has AC:H because it depends on a timing sensitive race between queued work and object destruction. Impact is at least kernel denial of service. The confirmed use after free can plausibly provide limited confidentiality or integrity impact if the freed object is reused before the callback executes. SMB client connections are commonly used in enterprise or internal networks. Practical exploitation normally requires control of a configured SMB server or a network position that can disrupt the SMB connection.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Actionable Moderate (with actual score 5) MAYBE DANGER DISK UAF SERVERTOCLIENT LINUS SYZBOT KPANIC KPANIC INCREASED_TO_HIGH_BASED_ON_GUESSCVSS DECREASED_TO_MODERATE7_BASED_ON_FALSEPOSCHECKOFDH - - checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=5 PrimitiveClass=CLASS_B RealUAF=YES HostAdminRequired=NO NamespaceScopedPrivilege=UNKNOWN ImportantCandidate=NO ManualReview=RECOMMENDED AutoDowngradeAllowed=YES 1. ActionableScore * Raw conservative score: 5 * Conservative score: 5 * Raw paranoid score: 5 * Paranoid score: 5 * Final recommended bucket: **Actionable Moderate**:: 2. Signal breakdown * +2 Real UAF or active lifetime violation. `server->reconnect` can remain queued after `TCP_Server_Info` is freed by `kfree_sensitive(server)`, and `smb2_reconnect_server()` later dereferences the stale `server` pointer. * +2 Remote reachable or directly network-triggerable. A malicious SMB server, or an actor able to disrupt an established SMB transport, can induce reconnect handling and connection termination behavior in an already mounted SMB client session. * +1 Reliable kernel crash or strong DoS. The delayed worker dereferences freed kernel memory and can cause an Oops, panic, or client host unavailability depending on kernel configuration and fault handling. Non-awarded signals: * No controlled reclaim or attacker-controlled replacement object is demonstrated. * No arbitrary or directed kernel write is demonstrated. * No callback, function-pointer, credential, or security-policy field is shown to be consumed after reuse. * No confidentiality or integrity point is awarded merely because UAF could theoretically expose or corrupt reused memory. * No Structured stale-object exploitation leverage point is awarded. The supplied evidence establishes a stale read of `server->srv_count`, but does not establish attacker influence over post-free object contents or meaningful fields consumed after replacement. * No Weak LPE point is awarded. Privilege escalation is not established by the patch. * No hard-race penalty is applied. The work item is explicitly queued before teardown, and the supplied sequence establishes a concrete queued-work versus free lifetime mismatch. The evidence does not prove an unusually narrow or externally uncontrollable timing window. * No extra Availability point is awarded because the same stale dereference already accounts for the crash or DoS consequence. * No subsystem rarity penalty is applied. SMB client mounts are broadly used in enterprise and internal-network deployments. 3. Reachability analysis The relevant attacker is a remote SMB server operator, or an on-path attacker capable of disrupting an existing SMB client connection. The vulnerable client must already have an SMB mount or active SMB client connection to the attacker-controlled or attacker-influenced server. The supplied call sequence supports a remote trigger model: socket processing enters `cifs_reconnect()`, queues `server->reconnect` on `cifsiod_wq`, and the demultiplex thread subsequently runs `clean_demultiplex_info()` and frees the server object without synchronizing the reconnect work. Host-admin-equivalent privileges are not required for the remote attacker after the SMB client connection exists. Therefore, `HostAdminRequired=NO` is appropriate for the established remote-server attacker model. This does not mean an arbitrary Internet attacker can affect every system. In practice, the attacker needs control over a configured SMB endpoint, a malicious share server, or a suitable network interference position. No namespace-specific privilege sequence is relevant to the complete remote trigger path. Therefore, `NamespaceScopedPrivilege=UNKNOWN`. No specialized hardware, boot option, unusual kernel configuration, or prior attacker-held local capability is established by the supplied evidence. SMB service exposure is commonly restricted to internal or enterprise networks, but this is an exposure consideration rather than a negative scoring signal. 4. Primitive and severity interpretation The exact primitive is a real use-after-free involving an active structured `TCP_Server_Info` object. The object is freed while a delayed reconnect worker still retains and later dereferences its pointer. This is not fixed stale DMA or peripheral storage. It is a queued asynchronous work item accessing an actively used SMB session object. However, the supplied evidence only concretely demonstrates a stale dereference beginning with `server->srv_count`. It does not demonstrate controlled object replacement, attacker-shaped post-free contents, arbitrary read or write, refcount takeover, callback dispatch, information disclosure, or privilege escalation. There is no concrete repeated release, `put`, `kref_put`, refcount decrement, or second free through the same dangling reference. The bug is therefore not the stronger repeated-lifetime-mutation category. The relevant sequence is: A. Queued reconnect work retains a stale `server` pointer. B. `clean_demultiplex_info()` frees `server`. C. `smb2_reconnect_server()` later dereferences the freed object. The primitive is `CLASS_B` because a concrete kernel lifetime violation exists. It is not `CLASS_A` because the patch does not establish controlled reclaim, structured post-free field control, arbitrary kernel memory access, a security-boundary bypass, or another strong exploitation primitive. The demonstrated consequence is kernel crash or denial of service. A stronger consequence remains speculative. The remote reachability and real UAF justify an Actionable Moderate score and manual review, but the available evidence does not yet justify treating this as a Strong Important candidate. `AutoDowngradeAllowed=YES` is appropriate under the supplied evidence because this is currently a constrained UAF with a demonstrated crash path but without meaningful demonstrated reuse, write, disclosure, callback, refcount-mutation, or boundary-bypass leverage. A later advisory, reproducer, or call-site analysis showing attacker-controlled post-free reuse should change this decision. 5. One-sentence report phrase A malicious SMB server may trigger a use-after-free in the Linux SMB client by causing reconnect work to run after its TCP_Server_Info object has been freed, resulting in a remote kernel denial of service. 6. Manual review recommendation MANUAL CHECK RECOMMENDED The issue is a confirmed remotely triggerable kernel UAF in an asynchronous workqueue path, but the supplied patch does not establish controlled post-free reuse, arbitrary memory access, disclosure, or privilege escalation. 7. Call-site confidence Call-site confidence: medium ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: smb: client: cancel reconnect work in clean_demultiplex_info() Commit: 180380272f116dbd2b0354c5c7872e112e519149 Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=180380272f116dbd2b0354c5c7872e112e519149 Commit description: clean_demultiplex_info() cancels server->echo delayed work but not server->reconnect, which can cause a use-after-free when the demultiplex thread exits while a reconnect work is still queued: cifs_demultiplex_thread() cifs_readv_from_socket() cifs_reconnect() __cifs_reconnect() cifs_queue_server_reconn() mod_delayed_work(cifsiod_wq, &server->reconnect, 0) clean_demultiplex_info() cancel_delayed_work_sync(&server->echo) // echo canceled // reconnect NOT canceled kfree_sensitive(server) // server freed ...later, on cifsiod_wq: smb2_reconnect_server() server->srv_count // UAF read of freed server Fix this by canceling server->reconnect delayed work in clean_demultiplex_info() before the server is freed, the same way cifs_put_tcp_session() already does. Reported-by: syzbot+5003556314abc915a71f@syzkaller.appspotmail.com Closes: https://lore.kernel.org/r/6aa4a12d.f81106d8.2ab401.0023.GAE@google.com Fixes: 53e0e11 ("CIFS: Fix a possible memory corruption during reconnect") Reviewed-by: Namjae Jeon Signed-off-by: Paulo Alcantara Cc: David Howells Cc: Shyam Prasad N Cc: Ronnie Sahlberg Cc: Tom Talpey Cc: Bharath SM Cc: Namjae Jeon Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman Changed files: fs/smb/client/connect.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=180380272f116dbd2b0354c5c7872e112e519149 ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-98175 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98175 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:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H The Best / paranoid CVSS vector: AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/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: 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).