rcu: Fix buffer overflow in print_cpu_stall_info()
In the Linux kernel, the following vulnerability has been resolved: rcu: Fix buffer overflow in print_cpu_stall_info() The rcuc-starvation output from print_cpu_stall_info() might overflow the buffer if there is a huge difference in jiffies difference. The situation might seem improbable, but computers sometimes get very confused about time, which can result in full-sized integers, and, in this case, buffer overflow. Also, the unsigned jiffies difference is printed using %ld, which is normally for signed integers. This is intentional for debugging purposes, but it is not obvious from the code. This commit therefore changes sprintf() to snprintf() and adds a clarifying comment about intention of %ld format. Found by Linux Verification Center (linuxtesting.org) with SVACE.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.1.93, 6.6.33, 6.8.12, 6.9.3
- CVEs
- CVE-2024-38576
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 14:41 UTC · Revision 1
Source evidence
rcu: Fix buffer overflow in print_cpu_stall_info()
core-osv · Original sourcePublished 19 Jun 2024, 13:37 UTC
In the Linux kernel, the following vulnerability has been resolved: rcu: Fix buffer overflow in print_cpu_stall_info() The rcuc-starvation output from print_cpu_stall_info() might overflow the buffer if there is a huge difference in jiffies difference. The situation might seem improbable, but computers sometimes get very confused about time, which can result in full-sized integers, and, in this case, buffer overflow. Also, the unsigned jiffies difference is printed using %ld, which is normally for signed integers. This is intentional for debugging purposes, but it is not obvious from the code. This commit therefore changes sprintf() to snprintf() and adds a clarifying comment about intention of %ld format. Found by Linux Verification Center (linuxtesting.org) with SVACE.
osv:CVE-2024-38576
Kernel
Fixed versions: 6.1.93, 6.6.33, 6.8.12, 6.9.3
Complete source record
{
"id": "07c9d6b8ff02b3239d1ac0bdb3322c47e7cc54d26c08285e6ffddcb3fa7dcdca",
"url": "https://osv.dev/vulnerability/CVE-2024-38576",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "rcu: Fix buffer overflow in print_cpu_stall_info()",
"summary": "In the Linux kernel, the following vulnerability has been resolved: rcu: Fix buffer overflow in print_cpu_stall_info() The rcuc-starvation output from print_cpu_stall_info() might overflow the buffer if there is a huge difference in jiffies difference. The situation might seem improbable, but computers sometimes get very confused about time, which can result in full-sized integers, and, in this case, buffer overflow. Also, the unsigned jiffies difference is printed using %ld, which is normally for signed integers. This is intentional for debugging purposes, but it is not obvious from the code. This commit therefore changes sprintf() to snprintf() and adds a clarifying comment about intention of %ld format. Found by Linux Verification Center (linuxtesting.org) with SVACE.",
"evidence": "osv:CVE-2024-38576",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.1.93",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.33",
"evidence": "/affected/1/ranges"
},
{
"value": "6.8.12",
"evidence": "/affected/1/ranges"
},
{
"value": "6.9.3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2024-38576",
"aliases": [
"CVE-2024-38576"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "245a62982502255314b63dd2c4daaedd1cd595a6"
},
{
"fixed": "e2228ed3fe7aa838fba87c79a76fb1ad9ea47138"
},
{
"fixed": "afb39909bfb5c08111f99e21bf5be7505f59ff1c"
},
{
"fixed": "9351e1338539cb7f319ffc1210fa9b2aa27384b5"
},
{
"fixed": "4c3e2ef4d8ddd313c8ce3ac30505940bea8d6257"
},
{
"fixed": "3758f7d9917bd7ef0482c4184c0ad673b4c4e069"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38576.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.0.0"
},
{
"fixed": "6.1.93"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.33"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.8.12"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.9.0"
},
{
"fixed": "6.9.3"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38576.json"
}
}
],
"modified": "2026-10-28T02:30:29.718145561Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/3758f7d9917bd7ef0482c4184c0ad673b4c4e069",
"https://git.kernel.org/stable/c/4c3e2ef4d8ddd313c8ce3ac30505940bea8d6257",
"https://git.kernel.org/stable/c/9351e1338539cb7f319ffc1210fa9b2aa27384b5",
"https://git.kernel.org/stable/c/afb39909bfb5c08111f99e21bf5be7505f59ff1c",
"https://git.kernel.org/stable/c/e2228ed3fe7aa838fba87c79a76fb1ad9ea47138",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38576.json",
"https://nvd.nist.gov/vuln/detail/CVE-2024-38576",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38576.json"
}
},
"related_cves": [
{
"value": "CVE-2024-38576",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496458,
"published_at": "2024-06-19T13:37:35.142+00:00"
}