From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-74256][MODERATE 7.0] bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check [ Upstream Date: Sun, 16 Aug 2026 02:08:07 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-74256 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: 6 X-AL-KERNEL-ActionableScore-Lower: 3 X-AL-KERNEL-Commit: 9ef44ed6fb0c1db01cfcc3de432a33e719713eb5 List-Id: CVE: CVE-2026-74256 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check [ Upstream Commit: 9ef44ed6fb0c1db01cfcc3de432a33e719713eb5 Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9ef44ed6fb0c1db01cfcc3de432a33e719713eb5 Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-74256 Analysis date: Sun, 16 Aug 2026 02:08:07 -0400 ActionableScore: 6 ActionableScore lower bound: 3 Actionable bucket: Strong Important candidate / Actionable Moderate at minimum Manual review required: YES Summary: No one-sentence report phrase was found. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-74256 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-74256 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-74256 MODERATE CHECK WITH IMPACT FROM ORIG NN LOW 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-125;**CWE-476;Other CVSS 'AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H';BEST CVSS score: '7.8';DESCR 'An integer overflow in bpf_msg_pop_data can make the bounds check accept an out of range start and len pair because start plus len was evaluated in 32 bit before being stored in a u64. A BPF sockmap program can then drive the pop loop past the end of the scatterlist and reach sk_msg_shift_left with an invalid or empty sg slot, which can trigger put_page on invalid state and crash the kernel. For the CVSS the PR:L is used in the paranoid score because BPF and network capabilities may be delegated to a local user, service account, or container in practical deployments. The issue is not directly network reachable without the ability to load or run the relevant BPF sockmap program. Impact is at least local denial of service via kernel crash and in worst case may allow confidentiality or integrity impact due to scatterlist out of bounds traversal and page reference handling corruption.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Strong Important candidate / Actionable Moderate at minimum (with actual score 5) YES REMOTE KASAN OOB NULLPTR BPF KPANIC INCREASED_FROM_LOW_BASED_ON_REQUIREMANUALCHECK NO NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=6 ActionableScoreLower=3 1. ActionableScore * Conservative score: 3 * Paranoid score: 6 * Final recommended bucket: **Strong Important candidate / Actionable Moderate at minimum** 2. Signal breakdown Conservative signals: * Weak/indirect corruption candidate: +1. The integer overflow lets the pop loop run past the intended scatterlist bounds and reach an invalid or empty sg slot. * Real lifetime/refcount concern: +1. The failing path reaches put_page() on invalid scatterlist state, which is a page lifetime/refcount sensitive operation. * Memory layout invariant restoration: +1. The patch restores the correct relationship between start, len, last, and msg->sg.size in networking scatterlist buffer handling. * Reliable kernel crash / strong DoS: +1. The commit includes a KASAN general protection fault / NULL pointer dereference trace in bpf_msg_pop_data(). * Requires CAP_BPF/CAP_NET_ADMIN/root-like setup in typical deployments: -2. Loading and attaching the relevant BPF sockmap program is privileged on the evaluated configuration. Paranoid additional interpretation: * Weak LPE concern: +1. The bug is more than a pure NULL dereference because an attacker-controlled helper argument can bypass bounds checking and drive scatterlist traversal into invalid page accounting state, but no reclaim, arbitrary write, or controlled object replacement is demonstrated. * Availability impact realistic: +1. The demonstrated crash is host-kernel level and can be triggered once the privileged BPF setup exists. * Privilege penalty relaxed in paranoid case: the full -2 is not applied when BPF or network capabilities are delegated to a reduced-capability service, container root, or non-full-host-root actor. Not awarded: * Remote reachable: +0. No direct network trigger exists without local BPF program control. * Local unprivileged trigger: +0. Unprivileged BPF is assumed disabled. * Strong LPE plausibility: +0. No attacker-controlled reclaim, arbitrary write, type confusion, callback control, or object replacement is shown. * Dirty-Pipe-like/page-cache primitive: +0. The corruption is in sk_msg scatterlist handling, not shared file-backed page ownership or COW bypass. 3. Reachability analysis The bug is triggered through bpf_msg_pop_data() from a BPF sockmap/sk_msg verdict path and then exercised by sendmsg() traffic through the affected socket path. In typical hardened or enterprise configurations, creating and attaching the required BPF program needs CAP_BPF, CAP_NET_ADMIN, CAP_SYS_ADMIN, or root-controlled policy, so the conservative interpretation is privileged local. Namespaces and containers matter because CAP_NET_ADMIN or BPF-related privileges are sometimes delegated to service accounts or container-root contexts that are not equivalent to full host root. The path is not remotely reachable by packets alone. Practical exploitation requires the ability to install or run the relevant BPF sockmap program and then supply large start/len values to the helper. 4. Severity interpretation This is above an ordinary Moderate because the patch fixes an integer overflow that bypasses a bounds check and causes out-of-range scatterlist traversal followed by put_page() on invalid state. The demonstrated impact is a reliable local kernel crash. The realistic evidence supports DoS and weak memory-corruption concern, while privilege escalation remains plausible only as a paranoid triage concern because no controlled overwrite or object replacement primitive is shown. With BPF privilege gating, the conservative score is borderline, but the paranoid score is Actionable Moderate and should not be auto-closed. 5. One-sentence report phrase An integer overflow in bpf_msg_pop_data() can bypass scatterlist bounds validation in the BPF sockmap message path, causing out-of-range traversal and a kernel crash, with weak but manual-review-worthy concern for page lifetime corruption when BPF capabilities are delegated. 6. Manual review recommendation MANUAL CHECK REQUIRED. The issue involves BPF, attacker-controlled helper arguments, scatterlist bounds bypass, and put_page() on invalid state, so it should be reviewed manually despite typical privileged BPF gating. ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check [ Upstream Commit: 9ef44ed6fb0c1db01cfcc3de432a33e719713eb5 Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9ef44ed6fb0c1db01cfcc3de432a33e719713eb5 Changed files: net/core/filter.c include/linux/filter.h net/core/skmsg.c net/ipv4/tcp_bpf.c net/socket.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=9ef44ed6fb0c1db01cfcc3de432a33e719713eb5 ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-74256 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-74256 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:L/PR:H/UI:N/S:U/C:N/I:N/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: 3 Paranoid ActionableScore: 6 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).