{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2022-50239", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-09-15T13:58:00.971Z", "datePublished": "2025-09-15T14:01:43.916Z", "dateUpdated": "2026-05-11T19:15:27.844Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-05-11T19:15:27.844Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: qcom: fix writes in read-only memory region\n\nThis commit fixes a kernel oops because of a write in some read-only memory:\n\n\t[ 9.068287] Unable to handle kernel write to read-only memory at virtual address ffff800009240ad8\n\t..snip..\n\t[ 9.138790] Internal error: Oops: 9600004f [#1] PREEMPT SMP\n\t..snip..\n\t[ 9.269161] Call trace:\n\t[ 9.276271] __memcpy+0x5c/0x230\n\t[ 9.278531] snprintf+0x58/0x80\n\t[ 9.282002] qcom_cpufreq_msm8939_name_version+0xb4/0x190\n\t[ 9.284869] qcom_cpufreq_probe+0xc8/0x39c\n\t..snip..\n\nThe following line defines a pointer that point to a char buffer stored\nin read-only memory:\n\n\tchar *pvs_name = \"speedXX-pvsXX-vXX\";\n\nThis pointer is meant to hold a template \"speedXX-pvsXX-vXX\" where the\nXX values get overridden by the qcom_cpufreq_krait_name_version function. Since\nthe template is actually stored in read-only memory, when the function\nexecutes the following call we get an oops:\n\n\tsnprintf(*pvs_name, sizeof(\"speedXX-pvsXX-vXX\"), \"speed%d-pvs%d-v%d\",\n\t\t speed, pvs, pvs_ver);\n\nTo fix this issue, we instead store the template name onto the stack by\nusing the following syntax:\n\n\tchar pvs_name_buffer[] = \"speedXX-pvsXX-vXX\";\n\nBecause the `pvs_name` needs to be able to be assigned to NULL, the\ntemplate buffer is stored in the pvs_name_buffer and not under the\npvs_name variable." } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/cpufreq/qcom-cpufreq-nvmem.c" ], "versions": [ { "version": "a8811ec764f95a04ba82f6f457e28c5e9e36e36b", "lessThan": "794ded0bc461287a268bed21fea2eebb6e5d232c", "status": "affected", "versionType": "git" }, { "version": "a8811ec764f95a04ba82f6f457e28c5e9e36e36b", "lessThan": "14d260f94ff89543597ffea13db8b277a810e08e", "status": "affected", "versionType": "git" }, { "version": "a8811ec764f95a04ba82f6f457e28c5e9e36e36b", "lessThan": "b74ee4e301ca01e431e240c046173332966e2431", "status": "affected", "versionType": "git" }, { "version": "a8811ec764f95a04ba82f6f457e28c5e9e36e36b", "lessThan": "01039fb8e90c9cb684430414bff70cea9eb168c5", "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/cpufreq/qcom-cpufreq-nvmem.c" ], "versions": [ { "version": "5.7", "status": "affected" }, { "version": "0", "lessThan": "5.7", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.152", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.76", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.0.6", "lessThanOrEqual": "6.0.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1", "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": "5.7", "versionEndExcluding": "5.10.152" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "5.15.76" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.0.6" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.1" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/794ded0bc461287a268bed21fea2eebb6e5d232c" }, { "url": "https://git.kernel.org/stable/c/14d260f94ff89543597ffea13db8b277a810e08e" }, { "url": "https://git.kernel.org/stable/c/b74ee4e301ca01e431e240c046173332966e2431" }, { "url": "https://git.kernel.org/stable/c/01039fb8e90c9cb684430414bff70cea9eb168c5" } ], "title": "cpufreq: qcom: fix writes in read-only memory region", "x_generator": { "engine": "bippy-1.2.0" } } } }