CVE-2025-38259 (GCVE-0-2025-38259)
Vulnerability from cvelistv5
Published
2025-07-09 10:42
Modified
2025-07-28 04:16
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
ASoC: codecs: wcd9335: Fix missing free of regulator supplies
Driver gets and enables all regulator supplies in probe path
(wcd9335_parse_dt() and wcd9335_power_on_reset()), but does not cleanup
in final error paths and in unbind (missing remove() callback). This
leads to leaked memory and unbalanced regulator enable count during
probe errors or unbind.
Fix this by converting entire code into devm_regulator_bulk_get_enable()
which also greatly simplifies the code.
References
Impacted products
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "sound/soc/codecs/wcd9335.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "edadaf4239c14dc8a19ea7f60b97d5524d93c29b", "status": "affected", "version": "20aedafdf4926e7a957f8b302a18c8fb75c7e332", "versionType": "git" }, { "lessThan": "9830ef1803a5bc50b4a984a06cf23142cd46229d", "status": "affected", "version": "20aedafdf4926e7a957f8b302a18c8fb75c7e332", "versionType": "git" }, { "lessThan": "a8795f3cd289cd958f6396a1b43ba46fa8e22a2e", "status": "affected", "version": "20aedafdf4926e7a957f8b302a18c8fb75c7e332", "versionType": "git" }, { "lessThan": "b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a", "status": "affected", "version": "20aedafdf4926e7a957f8b302a18c8fb75c7e332", "versionType": "git" }, { "lessThan": "9079db287fc3e38e040b0edeb0a25770bb679c8e", "status": "affected", "version": "20aedafdf4926e7a957f8b302a18c8fb75c7e332", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "sound/soc/codecs/wcd9335.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "5.1" }, { "lessThan": "5.1", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.143", "versionType": "semver" }, { "lessThanOrEqual": "6.6.*", "status": "unaffected", "version": "6.6.96", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.36", "versionType": "semver" }, { "lessThanOrEqual": "6.15.*", "status": "unaffected", "version": "6.15.5", "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": "6.1.143", "versionStartIncluding": "5.1", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.6.96", "versionStartIncluding": "5.1", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.36", "versionStartIncluding": "5.1", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.15.5", "versionStartIncluding": "5.1", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.16", "versionStartIncluding": "5.1", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: codecs: wcd9335: Fix missing free of regulator supplies\n\nDriver gets and enables all regulator supplies in probe path\n(wcd9335_parse_dt() and wcd9335_power_on_reset()), but does not cleanup\nin final error paths and in unbind (missing remove() callback). This\nleads to leaked memory and unbalanced regulator enable count during\nprobe errors or unbind.\n\nFix this by converting entire code into devm_regulator_bulk_get_enable()\nwhich also greatly simplifies the code." } ], "providerMetadata": { "dateUpdated": "2025-07-28T04:16:25.447Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/edadaf4239c14dc8a19ea7f60b97d5524d93c29b" }, { "url": "https://git.kernel.org/stable/c/9830ef1803a5bc50b4a984a06cf23142cd46229d" }, { "url": "https://git.kernel.org/stable/c/a8795f3cd289cd958f6396a1b43ba46fa8e22a2e" }, { "url": "https://git.kernel.org/stable/c/b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a" }, { "url": "https://git.kernel.org/stable/c/9079db287fc3e38e040b0edeb0a25770bb679c8e" } ], "title": "ASoC: codecs: wcd9335: Fix missing free of regulator supplies", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-38259", "datePublished": "2025-07-09T10:42:35.602Z", "dateReserved": "2025-04-16T04:51:23.997Z", "dateUpdated": "2025-07-28T04:16:25.447Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-38259\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-09T11:15:28.227\",\"lastModified\":\"2025-07-10T13:17:30.017\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nASoC: codecs: wcd9335: Fix missing free of regulator supplies\\n\\nDriver gets and enables all regulator supplies in probe path\\n(wcd9335_parse_dt() and wcd9335_power_on_reset()), but does not cleanup\\nin final error paths and in unbind (missing remove() callback). This\\nleads to leaked memory and unbalanced regulator enable count during\\nprobe errors or unbind.\\n\\nFix this by converting entire code into devm_regulator_bulk_get_enable()\\nwhich also greatly simplifies the code.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: c\u00f3decs: wcd9335: Se corrige la falta de liberaci\u00f3n de suministros del regulador. El controlador obtiene y habilita todos los suministros del regulador en la ruta de sondeo (wcd9335_parse_dt() y wcd9335_power_on_reset()), pero no realiza la limpieza en las rutas de error finales ni en la desvinculaci\u00f3n (falta la devoluci\u00f3n de llamada remove()). Esto provoca fugas de memoria y un recuento desequilibrado de habilitaciones del regulador durante los errores de sondeo o la desvinculaci\u00f3n. Para solucionar esto, convierta todo el c\u00f3digo a devm_regulator_bulk_get_enable(), lo que tambi\u00e9n simplifica considerablemente el c\u00f3digo.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/9079db287fc3e38e040b0edeb0a25770bb679c8e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9830ef1803a5bc50b4a984a06cf23142cd46229d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a8795f3cd289cd958f6396a1b43ba46fa8e22a2e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/edadaf4239c14dc8a19ea7f60b97d5524d93c29b\",\"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…