CVE-2025-38231 (GCVE-0-2025-38231)
Vulnerability from cvelistv5
Published
2025-07-04 13:37
Modified
2025-07-28 04:15
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
nfsd: Initialize ssc before laundromat_work to prevent NULL dereference
In nfs4_state_start_net(), laundromat_work may access nfsd_ssc through
nfs4_laundromat -> nfsd4_ssc_expire_umount. If nfsd_ssc isn't initialized,
this can cause NULL pointer dereference.
Normally the delayed start of laundromat_work allows sufficient time for
nfsd_ssc initialization to complete. However, when the kernel waits too
long for userspace responses (e.g. in nfs4_state_start_net ->
nfsd4_end_grace -> nfsd4_record_grace_done -> nfsd4_cld_grace_done ->
cld_pipe_upcall -> __cld_pipe_upcall -> wait_for_completion path), the
delayed work may start before nfsd_ssc initialization finishes.
Fix this by moving nfsd_ssc initialization before starting laundromat_work.
References
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
► | Linux | Linux |
Version: a4bc287943f5695209ff36bdc89f17b48d68fae7 Version: f4e44b393389c77958f7c58bf4415032b4cda15b Version: f4e44b393389c77958f7c58bf4415032b4cda15b Version: f4e44b393389c77958f7c58bf4415032b4cda15b Version: f4e44b393389c77958f7c58bf4415032b4cda15b Version: f4e44b393389c77958f7c58bf4415032b4cda15b Version: f4e44b393389c77958f7c58bf4415032b4cda15b |
|
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "fs/nfsd/nfssvc.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "deaeb74ae9318252829c59a84a7d2316fc335660", "status": "affected", "version": "a4bc287943f5695209ff36bdc89f17b48d68fae7", "versionType": "git" }, { "lessThan": "0fccf5f01ed28725cc313a66ca1247eef911d55e", "status": "affected", "version": "f4e44b393389c77958f7c58bf4415032b4cda15b", "versionType": "git" }, { "lessThan": "a97668ec6d73dab237cd1c15efe012a10090a4ed", "status": "affected", "version": "f4e44b393389c77958f7c58bf4415032b4cda15b", "versionType": "git" }, { "lessThan": "5060e1a5fef184bd11d298e3f0ee920d96a23236", "status": "affected", "version": "f4e44b393389c77958f7c58bf4415032b4cda15b", "versionType": "git" }, { "lessThan": "d622c2ee6c08147ab8c9b9e37d93b6e95d3258e0", "status": "affected", "version": "f4e44b393389c77958f7c58bf4415032b4cda15b", "versionType": "git" }, { "lessThan": "83ac1ba8ca102ab5c0ed4351f8ac6e74ac4d5d64", "status": "affected", "version": "f4e44b393389c77958f7c58bf4415032b4cda15b", "versionType": "git" }, { "lessThan": "b31da62889e6d610114d81dc7a6edbcaa503fcf8", "status": "affected", "version": "f4e44b393389c77958f7c58bf4415032b4cda15b", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "fs/nfsd/nfssvc.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "5.14" }, { "lessThan": "5.14", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "5.10.*", "status": "unaffected", "version": "5.10.239", "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.95", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.35", "versionType": "semver" }, { "lessThanOrEqual": "6.15.*", "status": "unaffected", "version": "6.15.4", "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.10.239", "versionStartIncluding": "5.10.220", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.15.186", "versionStartIncluding": "5.14", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.1.142", "versionStartIncluding": "5.14", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.6.95", "versionStartIncluding": "5.14", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.35", "versionStartIncluding": "5.14", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.15.4", "versionStartIncluding": "5.14", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.16", "versionStartIncluding": "5.14", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: Initialize ssc before laundromat_work to prevent NULL dereference\n\nIn nfs4_state_start_net(), laundromat_work may access nfsd_ssc through\nnfs4_laundromat -\u003e nfsd4_ssc_expire_umount. If nfsd_ssc isn\u0027t initialized,\nthis can cause NULL pointer dereference.\n\nNormally the delayed start of laundromat_work allows sufficient time for\nnfsd_ssc initialization to complete. However, when the kernel waits too\nlong for userspace responses (e.g. in nfs4_state_start_net -\u003e\nnfsd4_end_grace -\u003e nfsd4_record_grace_done -\u003e nfsd4_cld_grace_done -\u003e\ncld_pipe_upcall -\u003e __cld_pipe_upcall -\u003e wait_for_completion path), the\ndelayed work may start before nfsd_ssc initialization finishes.\n\nFix this by moving nfsd_ssc initialization before starting laundromat_work." } ], "providerMetadata": { "dateUpdated": "2025-07-28T04:15:46.499Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/deaeb74ae9318252829c59a84a7d2316fc335660" }, { "url": "https://git.kernel.org/stable/c/0fccf5f01ed28725cc313a66ca1247eef911d55e" }, { "url": "https://git.kernel.org/stable/c/a97668ec6d73dab237cd1c15efe012a10090a4ed" }, { "url": "https://git.kernel.org/stable/c/5060e1a5fef184bd11d298e3f0ee920d96a23236" }, { "url": "https://git.kernel.org/stable/c/d622c2ee6c08147ab8c9b9e37d93b6e95d3258e0" }, { "url": "https://git.kernel.org/stable/c/83ac1ba8ca102ab5c0ed4351f8ac6e74ac4d5d64" }, { "url": "https://git.kernel.org/stable/c/b31da62889e6d610114d81dc7a6edbcaa503fcf8" } ], "title": "nfsd: Initialize ssc before laundromat_work to prevent NULL dereference", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-38231", "datePublished": "2025-07-04T13:37:44.978Z", "dateReserved": "2025-04-16T04:51:23.996Z", "dateUpdated": "2025-07-28T04:15:46.499Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-38231\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-04T14:15:32.683\",\"lastModified\":\"2025-07-08T16:18:53.607\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnfsd: Initialize ssc before laundromat_work to prevent NULL dereference\\n\\nIn nfs4_state_start_net(), laundromat_work may access nfsd_ssc through\\nnfs4_laundromat -\u003e nfsd4_ssc_expire_umount. If nfsd_ssc isn\u0027t initialized,\\nthis can cause NULL pointer dereference.\\n\\nNormally the delayed start of laundromat_work allows sufficient time for\\nnfsd_ssc initialization to complete. However, when the kernel waits too\\nlong for userspace responses (e.g. in nfs4_state_start_net -\u003e\\nnfsd4_end_grace -\u003e nfsd4_record_grace_done -\u003e nfsd4_cld_grace_done -\u003e\\ncld_pipe_upcall -\u003e __cld_pipe_upcall -\u003e wait_for_completion path), the\\ndelayed work may start before nfsd_ssc initialization finishes.\\n\\nFix this by moving nfsd_ssc initialization before starting laundromat_work.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nfsd: Inicializar ssc antes de laundromat_work para evitar la desreferencia de punteros NULL. En nfs4_state_start_net(), laundromat_work puede acceder a nfsd_ssc a trav\u00e9s de nfs4_laundromat -\u0026gt; nfsd4_ssc_expire_umount. Si nfsd_ssc no se inicializa, esto puede causar la desreferencia de punteros NULL. Normalmente, el inicio retrasado de laundromat_work permite que la inicializaci\u00f3n de nfsd_ssc se complete con tiempo suficiente. Sin embargo, cuando el n\u00facleo espera demasiado tiempo las respuestas del espacio de usuario (p. ej., en la ruta nfs4_state_start_net -\u0026gt; nfsd4_end_grace -\u0026gt; nfsd4_record_grace_done -\u0026gt; nfsd4_cld_grace_done -\u0026gt; cld_pipe_upcall -\u0026gt; __cld_pipe_upcall -\u0026gt; wait_for_completion), el trabajo retrasado puede comenzar antes de que finalice la inicializaci\u00f3n de nfsd_ssc. Para solucionar esto, mueva la inicializaci\u00f3n de nfsd_ssc antes de iniciar laundromat_work.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0fccf5f01ed28725cc313a66ca1247eef911d55e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5060e1a5fef184bd11d298e3f0ee920d96a23236\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/83ac1ba8ca102ab5c0ed4351f8ac6e74ac4d5d64\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a97668ec6d73dab237cd1c15efe012a10090a4ed\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b31da62889e6d610114d81dc7a6edbcaa503fcf8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d622c2ee6c08147ab8c9b9e37d93b6e95d3258e0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/deaeb74ae9318252829c59a84a7d2316fc335660\",\"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…