CVE-2026-98848
Received Received - Intake

Heap-based Buffer Overflow in Linux Kernel RTC AC100 Driver

Vulnerability report for CVE-2026-98848, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-18

Last updated on: 2026-10-18

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: rtc: ac100: Assign .num before accessing .hws Commit f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in ac100_rtc_register_clks() due to .num being assigned only after every clkout clock has been stored in .hws[]. With CONFIG_UBSAN_BOUNDS and a compiler that implements __counted_by (GCC 15.1+ or Clang 20.1+), this triggers an array-index-out-of-bounds report during probe, and with CONFIG_UBSAN_TRAP the first store traps. Initialize .num with AC100_CLKOUT_NUM, the number of elements .hws[] was allocated with, right after the allocation. That is the value the loop counter ends up at on the success path anyway, so the provider's behaviour is unchanged.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-18
Last Modified
2026-10-18
Generated
2026-10-18
AI Q&A
2026-10-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 5 associated CPEs
Vendor Product Version / Range
Linux Linux f316cdff8d677db9ad9c90acb44c4cd535b0ee27
Linux Linux f316cdff8d677db9ad9c90acb44c4cd535b0ee27
Linux Linux f316cdff8d677db9ad9c90acb44c4cd535b0ee27
Linux Linux f316cdff8d677db9ad9c90acb44c4cd535b0ee27
Linux Linux 6.6

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is in the Linux kernel's RTC AC100 driver. It occurs when the .num field is assigned after accessing the .hws array, causing a bounds sanitizer warning or trap due to accessing an array out of bounds. The fix initializes .num with the correct number of elements before any array access.

Detection Guidance

This vulnerability is specific to the Linux kernel and triggers during boot when UBSAN_BOUNDS is enabled with a compiler that supports __counted_by (GCC 15.1+ or Clang 20.1+). Detection requires checking kernel logs for array-index-out-of-bounds errors during probe.

Impact Analysis

This vulnerability can cause system instability or crashes during kernel probe operations if the bounds sanitizer is enabled. It may trigger warnings or traps, leading to unexpected behavior or failure to initialize hardware components properly.

Mitigation Strategies

Apply the kernel patch that initializes .num with AC100_CLKOUT_NUM before accessing .hws[]. Alternatively, disable UBSAN_BOUNDS or use a compiler version that does not support __counted_by as a temporary workaround.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-98848. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart