CVE-2026-89952
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: validate ONFI extended parameter page sections nand_flash_detect_ext_param_page() allocates the length declared by the ONFI parameter page, then treats the data as a fixed header followed by variable-length sections. It reads that header and advances over sections without first proving that the fixed page and each current section fit in the allocation. Reject pages shorter than the fixed header, track the remaining variable area while walking sections, and require the ECC section to contain every field read from struct onfi_ext_ecc_info. Use device-scoped diagnostics that identify the malformed ONFI section.
View original CVE JSON
{
"id": "CVE-2026-89952",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-09-16T11:17:05.397",
"lastModified": "2026-10-19T09:18:41.233",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: rawnand: validate ONFI extended parameter page sections\n\nnand_flash_detect_ext_param_page() allocates the length declared by the\nONFI parameter page, then treats the data as a fixed header followed by\nvariable-length sections. It reads that header and advances over sections\nwithout first proving that the fixed page and each current section fit in\nthe allocation.\n\nReject pages shorter than the fixed header, track the remaining variable\narea while walking sections, and require the ECC section to contain every\nfield read from struct onfi_ext_ecc_info. Use device-scoped diagnostics\nthat identify the malformed ONFI section."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/mtd/nand/raw/nand_onfi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "1bf148fabe6463422195b7cc43b3412533f1dc21",
"versionType": "git",
"status": "affected"
},
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "c7df90bbda71549bfd981bf478ad04ddfccf4e0d",
"versionType": "git",
"status": "affected"
},
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "86948f81964e40cd6472d76a6371e4f297d84db0",
"versionType": "git",
"status": "affected"
},
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "ddb6ddf5be7429bb98b3368c883be51f00b31678",
"versionType": "git",
"status": "affected"
},
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "12a63a0f0d17b2d26211b2524ded91a67dd5c99c",
"versionType": "git",
"status": "affected"
},
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "c8f86e375b39cada09fd8cb33dd3bb3641e84a62",
"versionType": "git",
"status": "affected"
},
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "23e747fe585830c43095c37c85b2757231c6917f",
"versionType": "git",
"status": "affected"
},
{
"version": "6dcbe0cdd83fb5f77be4f44c9e06c535281c375a",
"lessThan": "e5e415262330bd70f983e091d8919d9dcd99e475",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/mtd/nand/raw/nand_onfi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3.12",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.12",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.270",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.221",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.188",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.157",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.110",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.51",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.5",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/12a63a0f0d17b2d26211b2524ded91a67dd5c99c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/1bf148fabe6463422195b7cc43b3412533f1dc21",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/23e747fe585830c43095c37c85b2757231c6917f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/86948f81964e40cd6472d76a6371e4f297d84db0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c7df90bbda71549bfd981bf478ad04ddfccf4e0d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c8f86e375b39cada09fd8cb33dd3bb3641e84a62",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ddb6ddf5be7429bb98b3368c883be51f00b31678",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e5e415262330bd70f983e091d8919d9dcd99e475",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}