From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-97503][LOW] genirq/proc: Size interrupt directory names for 10-digit interrupt numbers [ Upstream Date: Thu, 24 Sep 2026 14:14:17 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-97503 X-AL-KERNEL-Priority: LOW X-AL-KERNEL-Severity: LOW X-AL-KERNEL-Base-Severity: LOW X-AL-KERNEL-KPANIC: NO X-AL-KERNEL-ActionableScore: 1 X-AL-KERNEL-ActionableScore-Lower: unknown X-AL-KERNEL-Commit: d4b22fbae70037299e96539c330e4a1054b28a91 List-Id: CVE: CVE-2026-97503 Priority: LOW AL-KERNEL base severity: LOW KPANIC flag: NO Patch: genirq/proc: Size interrupt directory names for 10-digit interrupt numbers [ Upstream Commit: d4b22fbae70037299e96539c330e4a1054b28a91 Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d4b22fbae70037299e96539c330e4a1054b28a91 Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-97503 Analysis date: Thu, 24 Sep 2026 14:14:17 -0400 ActionableScore: 1 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-97503 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-97503 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: LOW 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-97503 LOW https://www.kernelcve.org/list/?q=CVE-2026-97503 CHECK WITH IMPACT FROM ORIG NN MODERATE Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H';*CWE-787;CWE-193;CWE-120;Other CVSS 'AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H';BEST CVSS score: '5.2';DESCR 'A one byte kernel stack buffer overflow occurs when the genirq proc code formats a 10 digit IRQ number into a name buffer sized for only 10 bytes. The decimal representation of IRQ 4294967295 requires 11 bytes including the trailing NUL byte. Sparse IRQ configurations can allow IRQ numbers in this range, and the out of bounds NUL write can corrupt adjacent stack data while creating or removing a proc irq directory. For the CVSS the PR:H metric is used because reliably reaching a very large IRQ number normally requires privileged control of device setup, IRQ allocation, an IRQ domain, or equivalent system configuration. The issue is not directly network reachable. Impact is at least local denial of service and in the worst case may allow limited confidentiality or integrity impact due to the stack memory corruption. YES REQUIRES MANUAL CHECK.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Ordinary Moderate (with actual score 1) YES DISK SIMPLEFIX LINUS DECREASED_TO_LOW_FROM_MODERATE_BASED_ON_GUESSCVSS_AND_CIANNH NO NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=1 PrimitiveClass=CLASS_B RealUAF=NO HostAdminRequired=UNKNOWN NamespaceScopedPrivilege=UNKNOWN ImportantCandidate=NO ManualReview=RECOMMENDED AutoDowngradeAllowed=YES 1. ActionableScore * Raw conservative score: 1 * Conservative score: 1 * Raw paranoid score: 1 * Paranoid score: 1 * Final recommended bucket: **Ordinary Moderate**:: The conservative and paranoid scores are identical because the patch establishes a real but highly constrained one-byte stack overwrite, while it does not establish attacker control over the overwritten value beyond a trailing NUL byte, over the target location beyond the adjacent stack byte, or over a follow-on exploitation primitive. 2. Signal breakdown * +1 Constrained kernel buffer overwrite. `sprintf(name, "%u", irq)` writes eleven bytes for the maximum ten-digit unsigned IRQ value, including the trailing NUL terminator, into a ten-byte stack buffer. The write is real and reaches one byte beyond the buffer. * +0 Strong corruption primitive not awarded. The out of bounds payload is only a fixed trailing NUL byte. The patch does not establish attacker-selected payload bytes, target selection, object replacement, callback influence, or an arbitrary or directed write. * +0 Reliable kernel crash or strong DoS not awarded. The supplied patch establishes the out of bounds write but does not demonstrate an Oops, panic, or reliably reachable host-wide denial of service. * +0 Confidentiality and integrity impact not awarded. No disclosure path, security-sensitive adjacent field, privilege escalation, protected-object modification, or controlled post-overflow behavior is established. * +0 Remote reachability not awarded. IRQ registration and proc entry creation are internal kernel paths. No network-triggerable input path is shown. * +0 Local unprivileged trigger not awarded. The supplied context does not establish that an ordinary local user can reliably cause allocation or registration of a ten-digit IRQ number. * +0 Host-admin privilege penalty not applied. Privileged device, IRQ-domain, or interrupt-management setup may be involved, but the complete privilege boundary for reaching a ten-digit IRQ number is not established. Unknown privilege must not be treated as host-admin requirement. * +0 Hard race penalty not applied. This is not a race condition. * +0 Niche subsystem penalty not applied. IRQ and procfs code are core kernel facilities. The specific high IRQ-number condition is a reachability limitation, but no evidence supports a separate rare-subsystem penalty. Important non-awarded signals: * Controlled reclaim is not demonstrated. * Arbitrary or directed kernel write is not demonstrated. * No use-after-free or repeated release/refcount mutation exists. * No attacker-controlled payload exists beyond the fixed NUL terminator. * No attacker-controlled target selection exists beyond the immediately adjacent stack byte. * No direct remote reachability is established. * No kernel crash is demonstrated by the supplied commit or patch. * No privilege escalation, authorization bypass, information disclosure, or security-boundary bypass is established. 3. Reachability analysis The vulnerable code is reached when the kernel creates or removes `/proc/irq/` entries through `register_irq_proc()` or `unregister_irq_proc()` for an IRQ with a ten-digit decimal value. Current sparse IRQ configurations can represent IRQ values in that range. However, the supplied patch does not show which actor can cause allocation, registration, or teardown of such a large IRQ number. Depending on the platform, this could involve device probing, firmware-described interrupt topology, IRQ domains, virtual interrupt controllers, or privileged device-management operations. The evaluated attacker model is unresolved. There is no evidence that an ordinary local user can complete the full trigger sequence. There is also no evidence that host-root-equivalent privilege is always required. Therefore: * HostAdminRequired is UNKNOWN. * NamespaceScopedPrivilege is UNKNOWN. * No local-unprivileged trigger bonus is awarded. * No host-admin penalty is applied. * No direct remote or firmware-mediated attacker path is established. * No special physical hardware requirement is proven, although large IRQ allocation may depend on platform-specific interrupt topology or sparse IRQ usage. There is no race requirement. If a qualifying IRQ is registered, the overflow occurs deterministically during decimal formatting. 4. Primitive and severity interpretation The exact primitive is a one-byte stack out of bounds write caused by an off-by-one buffer size error. The ten-byte `name` buffer is insufficient for the largest decimal representation of an unsigned IRQ value because `4294967295` requires ten printable bytes plus one trailing NUL byte. This is not a UAF, stale-object bug, refcount defect, ownership violation, or authorization bypass. It is a constrained stack-buffer overwrite with a fixed NUL payload. The patch changes the name buffer size from ten to eleven bytes and uses bounded formatting, confirming that the relevant invariant is decimal digits plus the NUL terminator. The primitive is classified as CLASS_B because an actual kernel memory write beyond a stack object is directly established and its exploitation properties require inspection. It is not CLASS_A because there is no evidence of attacker-controlled overwrite content, controllable overwrite destination, controlled reuse, function-pointer influence, arbitrary write, active-object corruption, or privilege escalation. The demonstrated consequence is limited to possible corruption of the immediately adjacent stack byte. A crash or DoS is plausible but not demonstrated. More serious consequences remain speculative because neither the relevant stack layout nor an attacker-useful adjacent object is visible in the supplied context. ImportantCandidate is NO because the known primitive is highly constrained and no meaningful exploitation leverage beyond the one-byte fixed-NUL overwrite is established. AutoDowngradeAllowed is YES because there is no demonstrated active-object lifetime issue, controlled corruption, boundary bypass, disclosure, or unresolved repeated mutation through freed storage. Manual review remains RECOMMENDED because the issue is still a real kernel stack out of bounds write and platform-specific IRQ allocation paths could affect reachability. Likely operational severity is Low to ordinary Moderate. It should be prioritized above a harmless formatting issue, but the supplied evidence does not support Important-class treatment. 5. One-sentence report phrase A one-byte kernel stack overflow can occur when a ten-digit IRQ number is formatted into a ten-byte procfs directory-name buffer, but the overwrite is limited to a trailing NUL byte and no controlled exploitation primitive is demonstrated. 6. Manual review recommendation MANUAL CHECK RECOMMENDED The patch fixes a real one-byte kernel stack overwrite. Manual review should confirm whether affected sparse IRQ platforms expose an attacker-reachable path for allocating or registering ten-digit IRQ values and whether the local stack layout creates a meaningful consequence. 7. Call-site confidence Call-site confidence: medium ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: genirq/proc: Size interrupt directory names for 10-digit interrupt numbers [ Upstream Commit: d4b22fbae70037299e96539c330e4a1054b28a91 Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d4b22fbae70037299e96539c330e4a1054b28a91 Changed files: kernel/irq/proc.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=d4b22fbae70037299e96539c330e4a1054b28a91 ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-97503 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-97503 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:H/UI:N/S:U/C:N/I:N/A:H The Best / paranoid CVSS vector: AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H The Best / paranoid CVSS score: 5.2 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: 1 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: LOW KPANIC detected for this report: NO Published priority for this report (same as in Subject): LOW 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).