CVE-2023-53245 (GCVE-0-2023-53245)
Vulnerability from cvelistv5
Published
2025-09-15 14:46
Modified
2025-09-15 14:46
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
Hyper-V provides the ability to connect Fibre Channel LUNs to the host
system and present them in a guest VM as a SCSI device. I/O to the vFC
device is handled by the storvsc driver. The storvsc driver includes a
partial integration with the FC transport implemented in the generic
portion of the Linux SCSI subsystem so that FC attributes can be displayed
in /sys. However, the partial integration means that some aspects of vFC
don't work properly. Unfortunately, a full and correct integration isn't
practical because of limitations in what Hyper-V provides to the guest.
In particular, in the context of Hyper-V storvsc, the FC transport timeout
function fc_eh_timed_out() causes a kernel panic because it can't find the
rport and dereferences a NULL pointer. The original patch that added the
call from storvsc_eh_timed_out() to fc_eh_timed_out() is faulty in this
regard.
In many cases a timeout is due to a transient condition, so the situation
can be improved by just continuing to wait like with other I/O requests
issued by storvsc, and avoiding the guaranteed panic. For a permanent
failure, continuing to wait may result in a hung thread instead of a panic,
which again may be better.
So fix the panic by removing the storvsc call to fc_eh_timed_out(). This
allows storvsc to keep waiting for a response. The change has been tested
by users who experienced a panic in fc_eh_timed_out() due to transient
timeouts, and it solves their problem.
In the future we may want to deprecate the vFC functionality in storvsc
since it can't be fully fixed. But it has current users for whom it is
working well enough, so it should probably stay for a while longer.
References
Impacted products
Vendor | Product | Version | |||||||
---|---|---|---|---|---|---|---|---|---|
▼ | Linux | Linux |
Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 Version: 3930d7309807ba0bfa460dfa9ed68d5560347dd2 |
||||||
|
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/scsi/storvsc_drv.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "cd87f4df9865a53807001ed12c0f0420b14ececd", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" }, { "lessThan": "311db605e07f0d4fc0cc7ddb74f1e5692ea2f469", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" }, { "lessThan": "048ebc9a28fb918ee635dd4b2fcf4248eb6e4050", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" }, { "lessThan": "1678408d08f31a694d5150a56796dd04c9710b22", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" }, { "lessThan": "7a792b3d888aab2c65389f9f4f9f2f6c000b1a0d", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" }, { "lessThan": "ed70fa5629a8b992a5372d7044d1db1f8fa6de29", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" }, { "lessThan": "763c06565055ae373fe7f89c11e1447bd1ded264", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" }, { "lessThan": "175544ad48cbf56affeef2a679c6a4d4fb1e2881", "status": "affected", "version": "3930d7309807ba0bfa460dfa9ed68d5560347dd2", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/scsi/storvsc_drv.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "4.13" }, { "lessThan": "4.13", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "4.14.*", "status": "unaffected", "version": "4.14.323", "versionType": "semver" }, { "lessThanOrEqual": "4.19.*", "status": "unaffected", "version": "4.19.292", "versionType": "semver" }, { "lessThanOrEqual": "5.4.*", "status": "unaffected", "version": "5.4.254", "versionType": "semver" }, { "lessThanOrEqual": "5.10.*", "status": "unaffected", "version": "5.10.191", "versionType": "semver" }, { "lessThanOrEqual": "5.15.*", "status": "unaffected", "version": "5.15.127", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.46", "versionType": "semver" }, { "lessThanOrEqual": "6.4.*", "status": "unaffected", "version": "6.4.11", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.5", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "4.14.323", "versionStartIncluding": "4.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "4.19.292", "versionStartIncluding": "4.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.4.254", "versionStartIncluding": "4.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.10.191", "versionStartIncluding": "4.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.15.127", "versionStartIncluding": "4.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.1.46", "versionStartIncluding": "4.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.4.11", "versionStartIncluding": "4.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.5", "versionStartIncluding": "4.13", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: storvsc: Fix handling of virtual Fibre Channel timeouts\n\nHyper-V provides the ability to connect Fibre Channel LUNs to the host\nsystem and present them in a guest VM as a SCSI device. I/O to the vFC\ndevice is handled by the storvsc driver. The storvsc driver includes a\npartial integration with the FC transport implemented in the generic\nportion of the Linux SCSI subsystem so that FC attributes can be displayed\nin /sys. However, the partial integration means that some aspects of vFC\ndon\u0027t work properly. Unfortunately, a full and correct integration isn\u0027t\npractical because of limitations in what Hyper-V provides to the guest.\n\nIn particular, in the context of Hyper-V storvsc, the FC transport timeout\nfunction fc_eh_timed_out() causes a kernel panic because it can\u0027t find the\nrport and dereferences a NULL pointer. The original patch that added the\ncall from storvsc_eh_timed_out() to fc_eh_timed_out() is faulty in this\nregard.\n\nIn many cases a timeout is due to a transient condition, so the situation\ncan be improved by just continuing to wait like with other I/O requests\nissued by storvsc, and avoiding the guaranteed panic. For a permanent\nfailure, continuing to wait may result in a hung thread instead of a panic,\nwhich again may be better.\n\nSo fix the panic by removing the storvsc call to fc_eh_timed_out(). This\nallows storvsc to keep waiting for a response. The change has been tested\nby users who experienced a panic in fc_eh_timed_out() due to transient\ntimeouts, and it solves their problem.\n\nIn the future we may want to deprecate the vFC functionality in storvsc\nsince it can\u0027t be fully fixed. But it has current users for whom it is\nworking well enough, so it should probably stay for a while longer." } ], "providerMetadata": { "dateUpdated": "2025-09-15T14:46:14.280Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/cd87f4df9865a53807001ed12c0f0420b14ececd" }, { "url": "https://git.kernel.org/stable/c/311db605e07f0d4fc0cc7ddb74f1e5692ea2f469" }, { "url": "https://git.kernel.org/stable/c/048ebc9a28fb918ee635dd4b2fcf4248eb6e4050" }, { "url": "https://git.kernel.org/stable/c/1678408d08f31a694d5150a56796dd04c9710b22" }, { "url": "https://git.kernel.org/stable/c/7a792b3d888aab2c65389f9f4f9f2f6c000b1a0d" }, { "url": "https://git.kernel.org/stable/c/ed70fa5629a8b992a5372d7044d1db1f8fa6de29" }, { "url": "https://git.kernel.org/stable/c/763c06565055ae373fe7f89c11e1447bd1ded264" }, { "url": "https://git.kernel.org/stable/c/175544ad48cbf56affeef2a679c6a4d4fb1e2881" } ], "title": "scsi: storvsc: Fix handling of virtual Fibre Channel timeouts", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2023-53245", "datePublished": "2025-09-15T14:46:14.280Z", "dateReserved": "2025-09-15T14:19:21.848Z", "dateUpdated": "2025-09-15T14:46:14.280Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2023-53245\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-09-15T15:15:51.683\",\"lastModified\":\"2025-09-15T15:22:27.090\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nscsi: storvsc: Fix handling of virtual Fibre Channel timeouts\\n\\nHyper-V provides the ability to connect Fibre Channel LUNs to the host\\nsystem and present them in a guest VM as a SCSI device. I/O to the vFC\\ndevice is handled by the storvsc driver. The storvsc driver includes a\\npartial integration with the FC transport implemented in the generic\\nportion of the Linux SCSI subsystem so that FC attributes can be displayed\\nin /sys. However, the partial integration means that some aspects of vFC\\ndon\u0027t work properly. Unfortunately, a full and correct integration isn\u0027t\\npractical because of limitations in what Hyper-V provides to the guest.\\n\\nIn particular, in the context of Hyper-V storvsc, the FC transport timeout\\nfunction fc_eh_timed_out() causes a kernel panic because it can\u0027t find the\\nrport and dereferences a NULL pointer. The original patch that added the\\ncall from storvsc_eh_timed_out() to fc_eh_timed_out() is faulty in this\\nregard.\\n\\nIn many cases a timeout is due to a transient condition, so the situation\\ncan be improved by just continuing to wait like with other I/O requests\\nissued by storvsc, and avoiding the guaranteed panic. For a permanent\\nfailure, continuing to wait may result in a hung thread instead of a panic,\\nwhich again may be better.\\n\\nSo fix the panic by removing the storvsc call to fc_eh_timed_out(). This\\nallows storvsc to keep waiting for a response. The change has been tested\\nby users who experienced a panic in fc_eh_timed_out() due to transient\\ntimeouts, and it solves their problem.\\n\\nIn the future we may want to deprecate the vFC functionality in storvsc\\nsince it can\u0027t be fully fixed. But it has current users for whom it is\\nworking well enough, so it should probably stay for a while longer.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/048ebc9a28fb918ee635dd4b2fcf4248eb6e4050\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1678408d08f31a694d5150a56796dd04c9710b22\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/175544ad48cbf56affeef2a679c6a4d4fb1e2881\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/311db605e07f0d4fc0cc7ddb74f1e5692ea2f469\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/763c06565055ae373fe7f89c11e1447bd1ded264\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7a792b3d888aab2c65389f9f4f9f2f6c000b1a0d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/cd87f4df9865a53807001ed12c0f0420b14ececd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ed70fa5629a8b992a5372d7044d1db1f8fa6de29\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…