From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-97560][MODERATE REGULAR] smb: client: fix one-byte OOB read in smb2_parse_native_symlink() Date: Fri, 25 Sep 2026 08:39:21 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-97560 X-AL-KERNEL-Priority: MODERATE REGULAR X-AL-KERNEL-Severity: MODERATE REGULAR X-AL-KERNEL-Base-Severity: MODERATE X-AL-KERNEL-KPANIC: NO X-AL-KERNEL-ActionableScore: 2 X-AL-KERNEL-ActionableScore-Lower: unknown X-AL-KERNEL-Commit: 22a9d0a9ba0c89be57558c1aa80dc60a571dd89c List-Id: CVE: CVE-2026-97560 Priority: MODERATE REGULAR AL-KERNEL base severity: MODERATE KPANIC flag: NO Patch: smb: client: fix one-byte OOB read in smb2_parse_native_symlink() Commit: 22a9d0a9ba0c89be57558c1aa80dc60a571dd89c Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=22a9d0a9ba0c89be57558c1aa80dc60a571dd89c Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-97560 Analysis date: Fri, 25 Sep 2026 08:39:21 -0400 ActionableScore: 2 ActionableScore lower bound: unknown Actionable bucket: Ordinary 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-97560 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-97560 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 REGULAR 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-97560 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-97560 CHECK WITH IMPACT FROM ORIG NN LOW Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L';CWE-125;BEST CVSS score: '4.3';DESCR 'A one byte out of bounds read in smb2_parse_native_symlink occurs when a share root relative native SMB symlink is parsed. The client copies from smb_target plus one to skip the leading separator but uses the original length including the terminating NUL byte. A malicious or compromised SMB server can provide a crafted reparse point and trigger the read when an SMB client accesses the affected symlink. For the CVSS the PR:N is used because no privileges on the victim are required when the victim already accesses an attacker controlled SMB server or share. UI:R is used because the affected pathname must be accessed by a client user or workload. The bug is network reachable through the SMB server response path but it is not an inbound SMB server vulnerability. Impact is primarily limited to a potential client crash or availability degradation. The patch context shows a one byte read only condition and does not provide evidence of an out of bounds write use after free information disclosure or privilege escalation.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Ordinary Moderate (with actual score 2) YES READ KASAN OOB DISK HARDWARE SERVERTOCLIENT DECREASED_TO_MODERATE_REGULAR_FROM_MODERATE7_BASED_ON_GUESSCVSS YES NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=2 PrimitiveClass=CLASS_C RealUAF=NO HostAdminRequired=UNKNOWN NamespaceScopedPrivilege=UNKNOWN ImportantCandidate=NO ManualReview=RECOMMENDED AutoDowngradeAllowed=YES 1. ActionableScore * Raw conservative score: 2 * Conservative score: 2 * Raw paranoid score: 2 * Paranoid score: 2 * Final recommended bucket: **Ordinary Moderate**:: No floor or cap was applied. 2. Signal breakdown * +2 Remote reachable / directly network-triggerable: A malicious or compromised SMB server can return a crafted native symlink reparse point. The vulnerable parser is reached when a client accesses the affected pathname in an SMB share. * +0 Weak corruption concern: The patch establishes a one byte out of bounds read. It does not establish an out of bounds write, UAF, type confusion, directed read, or attacker-controlled corruption of an active kernel object. * +0 Reliable kernel crash / strong DoS: Not awarded. The supplied evidence is a KASAN slab out of bounds report. A production kernel crash is possible but not established by the patch or trace. * +0 Confidentiality: Not awarded. The extra byte is copied after the intended NUL terminator of the target string. No path exposing that byte to userspace, the SMB peer, or another observable output is established. * +0 Integrity: Not awarded. The operation is read only and does not modify memory outside the destination buffer. * +0 Strong exploitation leverage: Not awarded. There is no controlled reclaim, arbitrary write, callback control, attacker-controlled active-object replacement, or privilege escalation primitive. * +0 Memory layout invariant restoration: Not separately awarded because the corrected copy length is the direct fix for the same bounded OOB read and does not add an independent exploitation primitive. * +0 Extra Availability: Not awarded. The KASAN report and any possible resulting fault are the same potential consequence and cannot be counted twice. 3. Reachability analysis The evaluated attacker is a malicious or compromised SMB server, or an attacker capable of tampering with SMB server responses. The attacker provides a share-root relative native symlink reparse point whose target begins with a separator and causes the client parser to copy one byte beyond the allocated `smb_target` buffer. The vulnerable operation is reached when the SMB client performs pathname lookup or metadata access on the affected symlink. The shown call path reaches the parser through `cifs_lookup`, `cifs_get_inode_info`, and reparse-point attribute handling during `statx` style pathname resolution. The issue is network reachable through an SMB server response, but it is not an inbound SMB server vulnerability. The victim must already have access to an attacker-controlled SMB share, or must be induced to access such a share. This corresponds to a user or workload action rather than an unauthenticated connection directly attacking a listening kernel service. Host-admin-equivalent privilege is not positively established as required for the complete attack. Creating or mounting an SMB share may be administratively controlled in some deployments, while access to an already mounted share can be performed by an ordinary user or service workload. Therefore HostAdminRequired is UNKNOWN rather than YES or NO. No namespace-specific capability chain is supplied. NamespaceScopedPrivilege is UNKNOWN. No special hardware, boot option, race condition, or prior kernel configuration requirement is established beyond use of the SMB client and access to a crafted SMB-native symlink. 4. Primitive and severity interpretation The exact primitive is a bounded one byte out of bounds read in `smb2_parse_native_symlink`. The old code copies from `smb_target + 1` to omit the leading separator, but copies `smb_target_len` bytes instead of `smb_target_len - 1`. Because the original length includes the NUL terminator, the final copied byte is read beyond the source allocation. This is not a UAF, lifetime violation, refcount error, active structured-object corruption, or OOB write. It is also not an active-object replacement or semantic reinterpretation issue. The patch establishes only an invalid source read during a `memcpy`. The demonstrated result is a KASAN slab out of bounds report. The patch does not establish a reliable production crash, an information disclosure channel, attacker-controlled reuse, memory corruption, privilege escalation, or a security-boundary bypass. The byte beyond the source allocation is copied after the intended terminating NUL in the resulting symlink target, which further reduces evidence for an observable data disclosure primitive. The issue is classified as CLASS_C because the established behavior is an invalid read with at most a potential crash or availability effect. ImportantCandidate is NO because there is no meaningful unresolved exploitation primitive beyond the limited read. AutoDowngradeAllowed is YES because the available evidence supports a constrained read-only issue without active-object corruption or an unresolved security-boundary primitive. Likely operational severity is ordinary Moderate or lower priority depending on SMB client exposure. Systems that do not mount or access untrusted SMB shares have little practical exposure. 5. One-sentence report phrase A malicious SMB server can trigger a one byte out of bounds read in native symlink parsing when an SMB client accesses a crafted share-root relative reparse point, but the patch establishes no write, disclosure, UAF, or privilege escalation primitive. 6. Manual review recommendation MANUAL CHECK RECOMMENDED Confirm whether the affected product mounts SMB shares from untrusted servers and whether downstream handling can expose the byte copied beyond the NUL terminator, although no such disclosure path is established by the supplied patch. 7. Call-site confidence Call-site confidence: medium ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: smb: client: fix one-byte OOB read in smb2_parse_native_symlink() Commit: 22a9d0a9ba0c89be57558c1aa80dc60a571dd89c Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=22a9d0a9ba0c89be57558c1aa80dc60a571dd89c Commit description: When parsing a share-root relative native symlink, memcpy copies smb_target+1 (skipping the leading separator) but uses strlen(smb_target)+1 as the length, reading one byte past the allocated buffer. This fixes the following KASAN splat when accessing an SMB symlink with a target of '\a\b': BUG: KASAN: slab-out-of-bounds in smb2_parse_native_symlink+0x4f5/0xca0 Read of size 5 at addr ffff88800878fe21 by task netfsfuzz-execu/1 CPU: 1 UID: 0 PID: 1 Comm: netfsfuzz-execu Tainted: G N 7.2.0-11943-g2709dd5ae32f-dirty #1 PREEMPT(lazy) Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996) Call Trace: dump_stack_lvl+0x7b/0xa0 print_report+0xd0/0x630 kasan_report+0xe5/0x120 kasan_check_range+0x105/0x1b0 __asan_memcpy+0x23/0x60 smb2_parse_native_symlink+0x4f5/0xca0 parse_reparse_point+0x68a/0x1530 reparse_info_to_fattr+0x752/0xa20 cifs_get_fattr+0x873/0x15b0 cifs_get_inode_info+0xc0/0x310 cifs_lookup+0x308/0xa70 __lookup_slow+0x122/0x2b0 lookup_slow+0x50/0x70 path_lookupat+0x525/0xaf0 filename_lookup+0x1f2/0x550 vfs_statx+0xd1/0x1a0 vfs_fstatat+0x65/0xc0 __do_sys_newfstatat+0x9a/0x120 do_syscall_64+0xdd/0x4a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Reported-by: Yuanfu Xie Fixes: 723f4ef ("cifs: Fix parsing native symlinks relative to the export") Suggested-by: Pali Rohar Reviewed-by: Pali Rohar Reviewed-by: Namjae Jeon Signed-off-by: Paulo Alcantara Cc: Ronnie Sahlberg Cc: Shyam Prasad N Cc: Tom Talpey Cc: Bharath SM Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman Changed files: fs/smb/client/reparse.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=22a9d0a9ba0c89be57558c1aa80dc60a571dd89c ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-97560 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-97560 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: Not available The Best / paranoid CVSS vector: AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L The Best / paranoid CVSS score: 4.3 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: 2 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: NO Published priority for this report (same as in Subject): MODERATE REGULAR 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).