CVE-2025-38119 (GCVE-0-2025-38119)
Vulnerability from cvelistv5
Published
2025-07-03 08:35
Modified
2025-07-28 04:12
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
scsi: core: ufs: Fix a hang in the error handler
ufshcd_err_handling_prepare() calls ufshcd_rpm_get_sync(). The latter
function can only succeed if UFSHCD_EH_IN_PROGRESS is not set because
resuming involves submitting a SCSI command and ufshcd_queuecommand()
returns SCSI_MLQUEUE_HOST_BUSY if UFSHCD_EH_IN_PROGRESS is set. Fix this
hang by setting UFSHCD_EH_IN_PROGRESS after ufshcd_rpm_get_sync() has
been called instead of before.
Backtrace:
__switch_to+0x174/0x338
__schedule+0x600/0x9e4
schedule+0x7c/0xe8
schedule_timeout+0xa4/0x1c8
io_schedule_timeout+0x48/0x70
wait_for_common_io+0xa8/0x160 //waiting on START_STOP
wait_for_completion_io_timeout+0x10/0x20
blk_execute_rq+0xe4/0x1e4
scsi_execute_cmd+0x108/0x244
ufshcd_set_dev_pwr_mode+0xe8/0x250
__ufshcd_wl_resume+0x94/0x354
ufshcd_wl_runtime_resume+0x3c/0x174
scsi_runtime_resume+0x64/0xa4
rpm_resume+0x15c/0xa1c
__pm_runtime_resume+0x4c/0x90 // Runtime resume ongoing
ufshcd_err_handler+0x1a0/0xd08
process_one_work+0x174/0x808
worker_thread+0x15c/0x490
kthread+0xf4/0x1ec
ret_from_fork+0x10/0x20
[ bvanassche: rewrote patch description ]
References
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
► | Linux | Linux |
Version: 62694735ca95c74dac4eb9068d59801ac0ddebaf Version: 62694735ca95c74dac4eb9068d59801ac0ddebaf Version: 62694735ca95c74dac4eb9068d59801ac0ddebaf Version: 62694735ca95c74dac4eb9068d59801ac0ddebaf Version: 62694735ca95c74dac4eb9068d59801ac0ddebaf Version: 62694735ca95c74dac4eb9068d59801ac0ddebaf |
|
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/ufs/core/ufshcd.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "f592eb12b43f21dbc972cbe583a12d256901e569", "status": "affected", "version": "62694735ca95c74dac4eb9068d59801ac0ddebaf", "versionType": "git" }, { "lessThan": "ded80255c59a57cd3270d98461f6508730f9767c", "status": "affected", "version": "62694735ca95c74dac4eb9068d59801ac0ddebaf", "versionType": "git" }, { "lessThan": "21f071261f946c5ca1adf378f818082a112b34d2", "status": "affected", "version": "62694735ca95c74dac4eb9068d59801ac0ddebaf", "versionType": "git" }, { "lessThan": "3464a707d137efc8aea1d4ae234d26a28d82b78c", "status": "affected", "version": "62694735ca95c74dac4eb9068d59801ac0ddebaf", "versionType": "git" }, { "lessThan": "bb37f795d01961286b8f768a6d7152f32b589067", "status": "affected", "version": "62694735ca95c74dac4eb9068d59801ac0ddebaf", "versionType": "git" }, { "lessThan": "8a3514d348de87a9d5e2ac00fbac4faae0b97996", "status": "affected", "version": "62694735ca95c74dac4eb9068d59801ac0ddebaf", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/ufs/core/ufshcd.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "3.12" }, { "lessThan": "3.12", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "5.15.*", "status": "unaffected", "version": "5.15.186", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.142", "versionType": "semver" }, { "lessThanOrEqual": "6.6.*", "status": "unaffected", "version": "6.6.94", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.34", "versionType": "semver" }, { "lessThanOrEqual": "6.15.*", "status": "unaffected", "version": "6.15.3", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.16", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.15.186", "versionStartIncluding": "3.12", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.1.142", "versionStartIncluding": "3.12", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.6.94", "versionStartIncluding": "3.12", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.34", "versionStartIncluding": "3.12", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.15.3", "versionStartIncluding": "3.12", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.16", "versionStartIncluding": "3.12", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: core: ufs: Fix a hang in the error handler\n\nufshcd_err_handling_prepare() calls ufshcd_rpm_get_sync(). The latter\nfunction can only succeed if UFSHCD_EH_IN_PROGRESS is not set because\nresuming involves submitting a SCSI command and ufshcd_queuecommand()\nreturns SCSI_MLQUEUE_HOST_BUSY if UFSHCD_EH_IN_PROGRESS is set. Fix this\nhang by setting UFSHCD_EH_IN_PROGRESS after ufshcd_rpm_get_sync() has\nbeen called instead of before.\n\nBacktrace:\n__switch_to+0x174/0x338\n__schedule+0x600/0x9e4\nschedule+0x7c/0xe8\nschedule_timeout+0xa4/0x1c8\nio_schedule_timeout+0x48/0x70\nwait_for_common_io+0xa8/0x160 //waiting on START_STOP\nwait_for_completion_io_timeout+0x10/0x20\nblk_execute_rq+0xe4/0x1e4\nscsi_execute_cmd+0x108/0x244\nufshcd_set_dev_pwr_mode+0xe8/0x250\n__ufshcd_wl_resume+0x94/0x354\nufshcd_wl_runtime_resume+0x3c/0x174\nscsi_runtime_resume+0x64/0xa4\nrpm_resume+0x15c/0xa1c\n__pm_runtime_resume+0x4c/0x90 // Runtime resume ongoing\nufshcd_err_handler+0x1a0/0xd08\nprocess_one_work+0x174/0x808\nworker_thread+0x15c/0x490\nkthread+0xf4/0x1ec\nret_from_fork+0x10/0x20\n\n[ bvanassche: rewrote patch description ]" } ], "providerMetadata": { "dateUpdated": "2025-07-28T04:12:38.426Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/f592eb12b43f21dbc972cbe583a12d256901e569" }, { "url": "https://git.kernel.org/stable/c/ded80255c59a57cd3270d98461f6508730f9767c" }, { "url": "https://git.kernel.org/stable/c/21f071261f946c5ca1adf378f818082a112b34d2" }, { "url": "https://git.kernel.org/stable/c/3464a707d137efc8aea1d4ae234d26a28d82b78c" }, { "url": "https://git.kernel.org/stable/c/bb37f795d01961286b8f768a6d7152f32b589067" }, { "url": "https://git.kernel.org/stable/c/8a3514d348de87a9d5e2ac00fbac4faae0b97996" } ], "title": "scsi: core: ufs: Fix a hang in the error handler", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-38119", "datePublished": "2025-07-03T08:35:26.616Z", "dateReserved": "2025-04-16T04:51:23.986Z", "dateUpdated": "2025-07-28T04:12:38.426Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-38119\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-03T09:15:25.903\",\"lastModified\":\"2025-07-03T15:13:53.147\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nscsi: core: ufs: Fix a hang in the error handler\\n\\nufshcd_err_handling_prepare() calls ufshcd_rpm_get_sync(). The latter\\nfunction can only succeed if UFSHCD_EH_IN_PROGRESS is not set because\\nresuming involves submitting a SCSI command and ufshcd_queuecommand()\\nreturns SCSI_MLQUEUE_HOST_BUSY if UFSHCD_EH_IN_PROGRESS is set. Fix this\\nhang by setting UFSHCD_EH_IN_PROGRESS after ufshcd_rpm_get_sync() has\\nbeen called instead of before.\\n\\nBacktrace:\\n__switch_to+0x174/0x338\\n__schedule+0x600/0x9e4\\nschedule+0x7c/0xe8\\nschedule_timeout+0xa4/0x1c8\\nio_schedule_timeout+0x48/0x70\\nwait_for_common_io+0xa8/0x160 //waiting on START_STOP\\nwait_for_completion_io_timeout+0x10/0x20\\nblk_execute_rq+0xe4/0x1e4\\nscsi_execute_cmd+0x108/0x244\\nufshcd_set_dev_pwr_mode+0xe8/0x250\\n__ufshcd_wl_resume+0x94/0x354\\nufshcd_wl_runtime_resume+0x3c/0x174\\nscsi_runtime_resume+0x64/0xa4\\nrpm_resume+0x15c/0xa1c\\n__pm_runtime_resume+0x4c/0x90 // Runtime resume ongoing\\nufshcd_err_handler+0x1a0/0xd08\\nprocess_one_work+0x174/0x808\\nworker_thread+0x15c/0x490\\nkthread+0xf4/0x1ec\\nret_from_fork+0x10/0x20\\n\\n[ bvanassche: rewrote patch description ]\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: core: ufs: Se corrige un bloqueo en el gestor de errores cuando ufshcd_err_handling_prepare() invoca ufshcd_rpm_get_sync(). Esta \u00faltima funci\u00f3n solo funciona correctamente si UFSHCD_EH_IN_PROGRESS no est\u00e1 configurado, ya que la reanudaci\u00f3n implica el env\u00edo de un comando SCSI y ufshcd_queuecommand() devuelve SCSI_MLQUEUE_HOST_BUSY si UFSHCD_EH_IN_PROGRESS est\u00e1 configurado. Para solucionar este bloqueo, configure UFSHCD_EH_IN_PROGRESS despu\u00e9s de invocar ufshcd_rpm_get_sync() en lugar de antes. Rastreo inverso: __switch_to+0x174/0x338 __schedule+0x600/0x9e4 schedule+0x7c/0xe8 schedule_timeout+0xa4/0x1c8 io_schedule_timeout+0x48/0x70 wait_for_common_io+0xa8/0x160 //waiting on START_STOP wait_for_completion_io_timeout+0x10/0x20 blk_execute_rq+0xe4/0x1e4 scsi_execute_cmd+0x108/0x244 ufshcd_set_dev_pwr_mode+0xe8/0x250 __ufshcd_wl_resume+0x94/0x354 ufshcd_wl_runtime_resume+0x3c/0x174 scsi_runtime_resume+0x64/0xa4 rpm_resume+0x15c/0xa1c __pm_runtime_resume+0x4c/0x90 // Runtime resume ongoing ufshcd_err_handler+0x1a0/0xd08 process_one_work+0x174/0x808 worker_thread+0x15c/0x490 kthread+0xf4/0x1ec ret_from_fork+0x10/0x20 [ bvanassche: se reescribi\u00f3 la descripci\u00f3n del parche ]\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/21f071261f946c5ca1adf378f818082a112b34d2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/3464a707d137efc8aea1d4ae234d26a28d82b78c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8a3514d348de87a9d5e2ac00fbac4faae0b97996\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bb37f795d01961286b8f768a6d7152f32b589067\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ded80255c59a57cd3270d98461f6508730f9767c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f592eb12b43f21dbc972cbe583a12d256901e569\",\"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…
Loading…