Files
vuln-cve/data/2026/74xxx/CVE-2026-74754.json
T

210 lines
10 KiB
JSON

{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-74754",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2026-08-15T05:44:03.931Z",
"datePublished": "2026-08-26T14:37:00.766Z",
"dateUpdated": "2026-10-30T12:30:32.806Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-10-30T12:30:32.806Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: core: pair EH runtime PM get and put\n\nshost->eh_noresume is currently consulted twice in one error handling\niteration: once before scsi_autopm_get_host() and once again before\nscsi_autopm_put_host().\n\nThat is racy when a PM-triggered error path flips shost->eh_noresume\nwhile the SCSI EH thread is still running.\n\nThe problem flow looks like this:\nPM path\n ufshcd_set_dev_pwr_mode()\n shost->eh_noresume = 1\n ufshcd_execute_start_stop <-- trigger EH\n ...\n shost->eh_noresume = 0\n\nEH path\n scsi_error_handler()\n if (!shost->eh_noresume)\n scsi_autopm_get_host() <-- skipped\n ...\n if (!shost->eh_noresume)\n scsi_autopm_put_host() <-- executed later\n\nIn that case one EH iteration can skip autoresume on entry and still\ndrop a runtime PM reference on exit. That leaves an unmatched runtime PM\nput and can trigger a runtime PM usage count underflow.\n\nFix this by making eh_noresume a regular bool so it can be accessed with\nREAD_ONCE() and WRITE_ONCE(). Snapshot it once per EH iteration and use\nthat snapshot for both runtime PM get and put decisions."
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/scsi/scsi_error.c",
"drivers/ufs/core/ufshcd.c",
"include/scsi/scsi_host.h"
],
"versions": [
{
"version": "ae0751ffc77e7f21629970fdab5528c573e637f8",
"lessThan": "9aca00c74730f4bc12d0717d33db637a16ccdfea",
"status": "affected",
"versionType": "git"
},
{
"version": "ae0751ffc77e7f21629970fdab5528c573e637f8",
"lessThan": "1ec5f6aa38ea990af37c49af7a4bb3db00da7f9d",
"status": "affected",
"versionType": "git"
},
{
"version": "ae0751ffc77e7f21629970fdab5528c573e637f8",
"lessThan": "0038a2a75a15d163f428c93103c6d02d4d231a7a",
"status": "affected",
"versionType": "git"
},
{
"version": "ae0751ffc77e7f21629970fdab5528c573e637f8",
"lessThan": "fdc93f4a801077efbf1b87570ade8d8f325de62f",
"status": "affected",
"versionType": "git"
},
{
"version": "ae0751ffc77e7f21629970fdab5528c573e637f8",
"lessThan": "e83eed1bea142c8fe852fd53156845b88252ecd8",
"status": "affected",
"versionType": "git"
},
{
"version": "ae0751ffc77e7f21629970fdab5528c573e637f8",
"lessThan": "872f486259ae0bc6b73ca4735a15d013241f73e9",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/scsi/scsi_error.c",
"drivers/ufs/core/ufshcd.c",
"include/scsi/scsi_host.h"
],
"versions": [
{
"version": "3.3",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.3",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.12.114",
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.18.57",
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "7.1.10",
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "7.2",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.3",
"versionEndExcluding": "6.1.191"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.3",
"versionEndExcluding": "6.6.160"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.3",
"versionEndExcluding": "6.12.114"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.3",
"versionEndExcluding": "6.18.57"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.3",
"versionEndExcluding": "7.1.10"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.3",
"versionEndExcluding": "7.2"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/9aca00c74730f4bc12d0717d33db637a16ccdfea"
},
{
"url": "https://git.kernel.org/stable/c/1ec5f6aa38ea990af37c49af7a4bb3db00da7f9d"
},
{
"url": "https://git.kernel.org/stable/c/0038a2a75a15d163f428c93103c6d02d4d231a7a"
},
{
"url": "https://git.kernel.org/stable/c/fdc93f4a801077efbf1b87570ade8d8f325de62f"
},
{
"url": "https://git.kernel.org/stable/c/e83eed1bea142c8fe852fd53156845b88252ecd8"
},
{
"url": "https://git.kernel.org/stable/c/872f486259ae0bc6b73ca4735a15d013241f73e9"
}
],
"title": "scsi: core: pair EH runtime PM get and put",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
}
}