CVE-2026-98478
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
scsi: ufs: core: Keep internal commands dispatchable during error handling
El commit 08b12cda6c44 ("scsi: ufs: core: Switch to scsi_get_internal_cmd()") cambió los comandos internos de UFS para que asignen peticiones en hba->host->pseudo_sdev->request_queue, que comparte el tagset del host con los LUN regulares.
Durante la recuperación de errores, ufshcd_err_handling_prepare() llama a blk_mq_quiesce_tagset(&hba->host->tag_set), marcando como quiesced todas las colas del tagset, incluida pseudo_sdev->request_queue.
Leer descripción completaMostrar menos
Cuando ufshcd_verify_dev_init() emite posteriormente comandos internos (por ejemplo, NOP OUT UPIU) mediante blk_execute_rq(), blk_mq_run_hw_queue() omite la ejecución de la cola en quiesce, lo que provoca un interbloqueo por espera circular irrecuperable.
Se mantiene el quiesce del tagset y, sobre este, se desbloquea (unquiesce) el dispositivo SCSI pseudo, de modo que los comandos internos sigan siendo despachables mientras las unidades lógicas permanecen en quiesce. Se vuelve a aplicar el quiesce al dispositivo pseudo antes de desbloquear el tagset, para que quiesce_depth quede equilibrado.
El escalado de reloj y ufshcd_pause_command_processing() no se ven afectados: siguen aplicando quiesce a todo el tagset, incluidos los comandos internos.
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.17 %
- Percentil entre todas las CVEs puntuadas
- 6
- 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
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98478",
"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": "08b12cda6c44dc015bcc152613c35ee0ae8f37b9",
"lessThan": "9f6f4840def931814c106fc800f57a2d26befee6",
"versionType": "git"
},
{
"status": "affected",
"version": "08b12cda6c44dc015bcc152613c35ee0ae8f37b9",
"lessThan": "b52d695d062095327b944acf7daabbc816ab319b",
"versionType": "git"
}
],
"programFiles": [
"drivers/ufs/core/ufshcd.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.19"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.19",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "7.2.9",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/ufs/core/ufshcd.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:16:58.353",
"references": [
{
"url": "https://git.kernel.org/stable/c/9f6f4840def931814c106fc800f57a2d26befee6",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b52d695d062095327b944acf7daabbc816ab319b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: ufs: core: Keep internal commands dispatchable during error handling\n\nCommit 08b12cda6c44 (\"scsi: ufs: core: Switch to scsi_get_internal_cmd()\")\nswitched UFS internal commands to allocate requests on\nhba->host->pseudo_sdev->request_queue, which shares the host tagset with\nregular LUNs.\n\nDuring error recovery, ufshcd_err_handling_prepare() calls\nblk_mq_quiesce_tagset(&hba->host->tag_set), marking all queues in the\ntagset as quiesced, including pseudo_sdev->request_queue. When\nufshcd_verify_dev_init() subsequently issues internal commands (e.g. NOP\nOUT UPIU) via blk_execute_rq(), blk_mq_run_hw_queue() skips running the\nquiesced queue, resulting in an unrecoverable circular wait deadlock.\n\nKeep quiescing the tagset and unquiesce the pseudo SCSI device on top of\nthat, so internal commands stay dispatchable while the logical units remain\nquiesced. Re-quiesce the pseudo device before unquiescing the tagset so\nthat quiesce_depth stays balanced.\n\nClock scaling and ufshcd_pause_command_processing() are unaffected: they\nkeep quiescing the whole tagset, internal commands included."
}
],
"lastModified": "2026-10-19T10:18:58.750",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}