CVE-2022-50239 Details
Description
In the Linux kernel, the following vulnerability has been resolved: cpufreq: qcom: fix writes in read-only memory region This commit fixes a kernel oops because of a write in some read-only memory: [ 9.068287] Unable to handle kernel write to read-only memory at virtual address ffff800009240ad8 ..snip.. [ 9.138790] Internal error: Oops: 9600004f [#1] PREEMPT SMP ..snip.. [ 9.269161] Call trace: [ 9.276271] __memcpy+0x5c/0x230 [ 9.278531] snprintf+0x58/0x80 [ 9.282002] qcom_cpufreq_msm8939_name_version+0xb4/0x190 [ 9.284869] qcom_cpufreq_probe+0xc8/0x39c ..snip.. The following line defines a pointer that point to a char buffer stored in read-only memory: char *pvs_name = "speedXX-pvsXX-vXX"; This pointer is meant to hold a template "speedXX-pvsXX-vXX" where the XX values get overridden by the qcom_cpufreq_krait_name_version function. Since the template is actually stored in read-only memory, when the function executes the following call we get an oops: snprintf(*pvs_name, sizeof("speedXX-pvsXX-vXX"), "speed%d-pvs%d-v%d", speed, pvs, pvs_ver); To fix this issue, we instead store the template name onto the stack by using the following syntax: char pvs_name_buffer[] = "speedXX-pvsXX-vXX"; Because the `pvs_name` needs to be able to be assigned to NULL, the template buffer is stored in the pvs_name_buffer and not under the pvs_name variable.
A vulnerability in the Linux kernel's cpufreq component for Qualcomm processors has been addressed. The issue involved writing to a read-only memory region, which caused a kernel oops error. This vulnerability was introduced in version 5.7 and affected several subsequent versions. The problem arose because a pointer was defined to a character buffer stored in read-only memory, intended to hold a template for speed and version information. When the template was overwritten by a function, it resulted in a kernel oops. The vulnerability has been fixed by changing the storage of the template to a stack-based buffer that can be modified, preventing writes to read-only memory.
Users can upgrade to the latest version of the Linux kernel where this vulnerability has been fixed. The specific commit addressing this issue is available in the Linux kernel stable tree.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/01039fb8e90c9cb684430414bff70cea9eb168c5 | kernel.org | Patch |
| https://git.kernel.org/stable/c/14d260f94ff89543597ffea13db8b277a810e08e | kernel.org | Patch |
| https://git.kernel.org/stable/c/794ded0bc461287a268bed21fea2eebb6e5d232c | kernel.org | Patch |
| https://git.kernel.org/stable/c/b74ee4e301ca01e431e240c046173332966e2431 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-125 | Out-of-bounds Read | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 5.7, < 5.10.152 >= 5.11, < 5.15.76 >= 5.16, < 6.0.6 6.1 rc1 |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Nov 24, 2025 | Initial Analysis | [email protected] |
| Sep 15, 2025 | New CVE Received | kernel.org |