In the Linux kernel, the following vulnerability has been resolved: cpufreq: initialize policy rwsem before sysfs publication cpufreq_policy_alloc() initializes policy->rwsem after kobject_init_and_add() has created the policy sysfs directory and its default attributes. A sysfs access can therefore reach a policy callback before the semaphore has been initialized. Initialize policy->rwsem before publishing the policy kobject so sysfs callbacks always see an initialized semaphore.
zetlyn/cve-nvd vulnerability cve CVE-2026-97904 known 2026-09-25
https://nvd.nist.gov/vuln/detail/CVE-2026-97904
Properties
| product | Linuxreceipt
What the source handed over{
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/cpufreq/cpufreq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "dc11263cb05ed519758fd135fe08d611bad1f241",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "27c9b491bf7604e83b50c3bbfa18a30266ff345f",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "2cee937f779f69b195b37bbec1e888da9bfe9d58",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "3e5d1bf4bd687beb2cb4e32a07af695455925588",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/cpufreq/cpufreq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.2"
},
{
"lessThan": "4.2",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc3",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: initialize policy rwsem before sysfs publication\n\ncpufreq_policy_alloc() initializes policy->rwsem after\nkobject_init_and_add() has created the policy sysfs directory and its\ndefault attributes. A sysfs access can therefore reach a policy callback\nbefore the semaphore has been initialized.\n\nInitialize policy->rwsem before publishing the policy kobject so sysfs\ncallbacks always see an initialized semaphore."
}
],
"id": "CVE-2026-97904",
"lastModified": "2026-09-25T11:17:17.293",
"metrics": {},
"published": "2026-09-25T11:17:17.293",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/27c9b491bf7604e83b50c3bbfa18a30266ff345f"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/2cee937f779f69b195b37bbec1e888da9bfe9d58"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/3e5d1bf4bd687beb2cb4e32a07af695455925588"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/dc11263cb05ed519758fd135fe08d611bad1f241"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Received"
}
} | ||||
|---|---|---|---|---|---|
| status | Receivedreceipt
What the source handed over{
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/cpufreq/cpufreq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "dc11263cb05ed519758fd135fe08d611bad1f241",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "27c9b491bf7604e83b50c3bbfa18a30266ff345f",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "2cee937f779f69b195b37bbec1e888da9bfe9d58",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "3e5d1bf4bd687beb2cb4e32a07af695455925588",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/cpufreq/cpufreq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.2"
},
{
"lessThan": "4.2",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc3",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: initialize policy rwsem before sysfs publication\n\ncpufreq_policy_alloc() initializes policy->rwsem after\nkobject_init_and_add() has created the policy sysfs directory and its\ndefault attributes. A sysfs access can therefore reach a policy callback\nbefore the semaphore has been initialized.\n\nInitialize policy->rwsem before publishing the policy kobject so sysfs\ncallbacks always see an initialized semaphore."
}
],
"id": "CVE-2026-97904",
"lastModified": "2026-09-25T11:17:17.293",
"metrics": {},
"published": "2026-09-25T11:17:17.293",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/27c9b491bf7604e83b50c3bbfa18a30266ff345f"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/2cee937f779f69b195b37bbec1e888da9bfe9d58"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/3e5d1bf4bd687beb2cb4e32a07af695455925588"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/dc11263cb05ed519758fd135fe08d611bad1f241"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Received"
}
} | ||||
| vendor | Linuxreceipt
What the source handed over{
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/cpufreq/cpufreq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "dc11263cb05ed519758fd135fe08d611bad1f241",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "27c9b491bf7604e83b50c3bbfa18a30266ff345f",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "2cee937f779f69b195b37bbec1e888da9bfe9d58",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
},
{
"lessThan": "3e5d1bf4bd687beb2cb4e32a07af695455925588",
"status": "affected",
"version": "2fc3384dc75bf7333384c7a16d12c796f61c3f56",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/cpufreq/cpufreq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.2"
},
{
"lessThan": "4.2",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc3",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: initialize policy rwsem before sysfs publication\n\ncpufreq_policy_alloc() initializes policy->rwsem after\nkobject_init_and_add() has created the policy sysfs directory and its\ndefault attributes. A sysfs access can therefore reach a policy callback\nbefore the semaphore has been initialized.\n\nInitialize policy->rwsem before publishing the policy kobject so sysfs\ncallbacks always see an initialized semaphore."
}
],
"id": "CVE-2026-97904",
"lastModified": "2026-09-25T11:17:17.293",
"metrics": {},
"published": "2026-09-25T11:17:17.293",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/27c9b491bf7604e83b50c3bbfa18a30266ff345f"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/2cee937f779f69b195b37bbec1e888da9bfe9d58"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/3e5d1bf4bd687beb2cb4e32a07af695455925588"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/dc11263cb05ed519758fd135fe08d611bad1f241"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Received"
}
} |
Text
In the Linux kernel, the following vulnerability has been resolved:
cpufreq: initialize policy rwsem before sysfs publication
cpufreq_policy_alloc() initializes policy->rwsem after
kobject_init_and_add() has created the policy sysfs directory and its
default attributes. A sysfs access can therefore reach a policy callback
before the semaphore has been initialized.
Initialize policy->rwsem before publishing the policy kobject so sysfs
callbacks always see an initialized semaphore.