{"id":"CVE-2026-99017","revision":"1c420ef575194ab0bfcac68ccbc0caee","records":[{"revision":"1c420ef575194ab0bfcac68ccbc0caee","observedAt":"2026-10-23T16:01:20.601+00:00","statement":{"source":"cve-program","id":"CVE-2026-99017","aliases":[],"title":"riscv: errata: select RISCV_ALTERNATIVE_EARLY for THEAD GHOSTWRITE","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nriscv: errata: select RISCV_ALTERNATIVE_EARLY for THEAD GHOSTWRITE\n\nerrata_probe_ghostwrite() only marks the CPU as vulnerable when it is\ncalled at the RISCV_ALTERNATIVES_EARLY_BOOT stage, and the mitigation\nin ghostwrite_enable_mitigation() only takes effect if the vulnerable\nstate was recorded before the boot alternatives are patched.\n\nThe early boot stage is only executed when CONFIG_RISCV_ALTERNATIVE_EARLY\nis enabled, which currently is only selected by ERRATA_THEAD_MAE. In a\nkernel built with ERRATA_THEAD_GHOSTWRITE=y but ERRATA_THEAD_MAE=n, the\nearly alternatives never run, so ghostwrite_state is never set to\nVULNERABLE: ghostwrite_enable_mitigation() returns false, xtheadvector\nremains enabled, and sysfs reports \"Not affected\" on a vulnerable\nT-Head C9xx CPU.\n\nSelect RISCV_ALTERNATIVE_EARLY from ERRATA_THEAD_GHOSTWRITE so that the\nvulnerability is detected in the early boot stage and the default\nmitigation is applied.","state":0,"publishedAt":"2026-10-23T12:20:53.518+00:00","modifiedAt":"2026-10-23T12:20:53.518+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"arch/riscv/Kconfig.errata\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4bf97069239bcfca9840936313c7ac35a6e04488\",\n                            \"lessThan\": \"fa465a7819ecbe5801b78c088d3cadaf2664b8ca\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4bf97069239bcfca9840936313c7ac35a6e04488\",\n                            \"lessThan\": \"7fee577a2fa78b9a76da015beec1ccf978746ebb\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4bf97069239bcfca9840936313c7ac35a6e04488\",\n                            \"lessThan\": \"298510bbc7c3017c0faf481c6ea66f1065b657b4\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"arch/riscv/Kconfig.errata\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.14\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.14\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.57\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.11\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/fa465a7819ecbe5801b78c088d3cadaf2664b8ca","https://git.kernel.org/stable/c/7fee577a2fa78b9a76da015beec1ccf978746ebb","https://git.kernel.org/stable/c/298510bbc7c3017c0faf481c6ea66f1065b657b4"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-99017","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-99017","identifiers":["CVE-2026-99017"]},"retained":false,"historicalAffected":[]}],"coverage":[]}