CVE-2026-98848
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
rtc: ac100: Assign .num before accessing .hws
El commit f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") anotó el miembro hws de 'struct clk_hw_onecell_data' con __counted_by, lo que informa al sanitizador de límites (UBSAN_BOUNDS) sobre el número de elementos de .hws[], de modo que pueda advertir cuando .hws[] se accede fuera de límites.
Leer descripción completaMostrar menos
Como se indica en ese cambio, el miembro __counted_by debe inicializarse con el número de elementos antes de que se produzca el primer acceso al array; de lo contrario, habrá una advertencia en cada acceso anterior a la inicialización, porque el número de elementos es cero. Esto ocurre en ac100_rtc_register_clks() porque .num solo se asigna después de que cada reloj clkout se haya almacenado en .hws[]. Con CONFIG_UBSAN_BOUNDS y un compilador que implemente __counted_by (GCC 15.1+ o Clang 20.1+), esto desencadena un informe de array-index-out-of-bounds durante la inicialización (probe), y con CONFIG_UBSAN_TRAP la primera escritura provoca una trampa.
Inicialice .num con AC100_CLKOUT_NUM, el número de elementos con el que se asignó .hws[], justo después de la asignación. Ese es el valor que el contador del bucle alcanza de todos modos en la ruta de éxito, por lo que el comportamiento del proveedor no cambia.
Traducción automática del texto original de NVD (en inglés).
CVSS
NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.16 %
- Percentil entre todas las CVEs puntuadas
- 4
- Fecha de la puntuación
- 20/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
Mostrar las 4 referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98848",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "f316cdff8d677db9ad9c90acb44c4cd535b0ee27",
"lessThan": "6bb55381daf1a1bed0657189a1396e7467712525",
"versionType": "git"
},
{
"status": "affected",
"version": "f316cdff8d677db9ad9c90acb44c4cd535b0ee27",
"lessThan": "160619b38707241e22569f9c983a4b3d0890996a",
"versionType": "git"
},
{
"status": "affected",
"version": "f316cdff8d677db9ad9c90acb44c4cd535b0ee27",
"lessThan": "ad1bf77039cba83373bf1eff3784655e3e3ed2ab",
"versionType": "git"
},
{
"status": "affected",
"version": "f316cdff8d677db9ad9c90acb44c4cd535b0ee27",
"lessThan": "6a4117eee82dd85f11bf898bf66026764011eeb6",
"versionType": "git"
}
],
"programFiles": [
"drivers/rtc/rtc-ac100.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.6"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.6",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.12.113",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.56",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.10",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/rtc/rtc-ac100.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:39.163",
"references": [
{
"url": "https://git.kernel.org/stable/c/160619b38707241e22569f9c983a4b3d0890996a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6a4117eee82dd85f11bf898bf66026764011eeb6",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6bb55381daf1a1bed0657189a1396e7467712525",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ad1bf77039cba83373bf1eff3784655e3e3ed2ab",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nrtc: ac100: Assign .num before accessing .hws\n\nCommit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with\n__counted_by\") annotated the hws member of 'struct clk_hw_onecell_data'\nwith __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS)\nabout the number of elements in .hws[], so that it can warn when .hws[]\nis accessed out of bounds. As noted in that change, the __counted_by\nmember must be initialized with the number of elements before the first\narray access happens, otherwise there will be a warning from each access\nprior to the initialization because the number of elements is zero.\nThis occurs in ac100_rtc_register_clks() due to .num being assigned only\nafter every clkout clock has been stored in .hws[]. With\nCONFIG_UBSAN_BOUNDS and a compiler that implements __counted_by (GCC\n15.1+ or Clang 20.1+), this triggers an array-index-out-of-bounds report\nduring probe, and with CONFIG_UBSAN_TRAP the first store traps.\n\nInitialize .num with AC100_CLKOUT_NUM, the number of elements .hws[] was\nallocated with, right after the allocation. That is the value the loop\ncounter ends up at on the success path anyway, so the provider's\nbehaviour is unchanged."
}
],
"lastModified": "2026-10-19T10:19:48.890",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}