From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-93812][MODERATE 7.0] ksmbd: fix sd_ndr.data memory leak in ksmbd_vfs_set_sd_xattr [ Upstream Date: Thu, 24 Sep 2026 18:28:09 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-93812 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: 9b4dec75498fd0a1c9eaea680aef59c9519eb16f List-Id: CVE: CVE-2026-93812 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: ksmbd: fix sd_ndr.data memory leak in ksmbd_vfs_set_sd_xattr [ Upstream Commit: 9b4dec75498fd0a1c9eaea680aef59c9519eb16f Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9b4dec75498fd0a1c9eaea680aef59c9519eb16f Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-93812 Analysis date: Thu, 24 Sep 2026 18:28:09 -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-93812 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-93812 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-93812 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-93812 CHECK WITH IMPACT FROM ORIG NN NONE Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H';*CWE-401;*CWE-772;**CWE-400;Other CVSS 'AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L';BEST CVSS score: '6.5';DESCR 'A memory leak in ksmbd_vfs_set_sd_xattr occurs when ndr_encode_v4_ntacl allocates sd_ndr.data and a later ndr_write operation returns an error before the buffer is released. A remote SMB client that can modify a file security descriptor may be able to exercise the error path repeatedly, causing kernel memory consumption to grow and eventually resulting in OOM conditions or denial of service. For the CVSS the PR:L value is selected because reliable triggering normally requires an authenticated SMB account with permission to change ACL or security descriptor data. The issue is network reachable when the ksmbd service is exposed, although practical exploitation depends on share permissions and the ability to make the encoder fail repeatedly. Impact is limited to resource exhaustion and availability because the affected object is leaked rather than accessed after free or written out of bounds.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Borderline / manual review recommended (with actual score 4) SKIP CVE-2026-93812 UNKNOWN SKIP No affected files built, so skip this CVE NO - - unknown MAYBE REMOTE DISK LEAK UAF SKIP KPANIC INCREASED_TO_MODERATE7_FROM_LOW_BASED_ON_GUESSCVSS_AND_ACTIONABLESCOREHIGHER4 - - checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=4 ActionableScoreLower=3 PrimitiveClass=CLASS_C RealUAF=NO HostAdminRequired=NO NamespaceScopedPrivilege=NO ImportantCandidate=NO ManualReview=RECOMMENDED AutoDowngradeAllowed=YES 1. ActionableScore * Raw conservative score: 3 * Conservative score: 3 * Raw paranoid score: 4 * Paranoid score: 4 * No floor or cap was applied. * Final recommended bucket: **Borderline / manual review recommended**:: 2. Signal breakdown Conservative signals: * +2 Remote reachable. An authenticated SMB client with permission to modify security descriptors can reach `ksmbd_vfs_set_sd_xattr()` on an exposed ksmbd server. * +1 Concrete persistent kernel resource leak. `sd_ndr.data` is allocated by `ndr_encode_v4_ntacl()` and was not freed when a later `ndr_write_*()` operation failed. * Total: 3. Paranoid additional signal: * +1 Meaningful accumulated resource exhaustion. Repeated remotely induced encoding failures can accumulate unrecoverable kernel allocations and plausibly cause host memory pressure, OOM, or service denial. * Total: 4. Not awarded: * No UAF, stale access, double release, OOB operation, or memory overwrite is established. * No reliable immediate kernel crash point. OOM requires sustained accumulation, so no separate crash point was awarded. * No confidentiality, integrity, authorization-bypass, or privilege-escalation signal. * No controlled reclaim, arbitrary write, structured stale-object leverage, or repeated lifetime mutation. * No extra availability point for the same resource-exhaustion consequence. * No rarity or host-admin penalty. Server provisioning is required, but the attacker performing the SMB operation need not administer the host. 3. Reachability analysis The evaluated attacker is a remote authenticated SMB user with sufficient share and object permissions to modify an ACL or security descriptor. This is positively below host-admin privilege, so `HostAdminRequired=NO`. The complete trigger additionally depends on attacker-controlled input or resulting ACL state making an `ndr_write_*()` operation fail. The supplied evidence supports this as plausible but does not show the exact malformed descriptor, allocation size, or leak rate. A host administrator must previously enable and configure ksmbd and expose a share. This is a deployment prerequisite rather than attacker privilege. No special hardware, race, timing window, namespace capability, boot option, or local code execution is required. Namespace-scoped privilege is not part of the identified trigger. 4. Primitive and severity interpretation The exact primitive is a missing `kfree()` on an encoding error path, producing a persistent kernel heap leak. It is a resource-lifetime defect, not post-lifetime access, because the leaked allocation remains valid but unreachable. There is no active stale object, fixed stale storage, repeated release, refcount mutation, or corruption primitive. The established consequence is gradual memory consumption. Host-wide OOM or DoS is a defensible worst case only under repeated successful triggering. This is `CLASS_C` because the security impact is resource exhaustion without an independently useful corruption or boundary-bypass primitive. `ImportantCandidate=NO` because no Important-grade leverage is established. `AutoDowngradeAllowed=YES` because the issue can remain Moderate after review without losing an unresolved memory-corruption primitive. Likely operational severity is Low to Moderate for isolated or access-controlled ksmbd deployments and higher-priority Moderate where untrusted authenticated clients can repeatedly modify security descriptors. 5. One-sentence report phrase An authenticated remote SMB client with permission to modify security descriptors may repeatedly trigger an encoding error that leaks kernel memory in ksmbd and can eventually cause resource-exhaustion denial of service. 6. Manual review recommendation MANUAL CHECK RECOMMENDED Confirm whether client-controlled security descriptors can reliably force the relevant `ndr_write_*()` failure, and measure the leaked allocation size and request rate before deciding operational urgency. 7. Call-site confidence Call-site confidence: medium ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: ksmbd: fix sd_ndr.data memory leak in ksmbd_vfs_set_sd_xattr [ Upstream Commit: 9b4dec75498fd0a1c9eaea680aef59c9519eb16f Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9b4dec75498fd0a1c9eaea680aef59c9519eb16f Changed files: fs/smb/server/vfs.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=9b4dec75498fd0a1c9eaea680aef59c9519eb16f ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-93812 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-93812 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:L/PR:L/UI:N/S:U/C:N/I:N/A:L The Best / paranoid CVSS vector: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H The Best / paranoid CVSS score: 6.5 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).