Files
vuln-cve/data/2021/47xxx/CVE-2021-47346.json
T

302 lines
16 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2021-47346",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-05-21T14:28:16.980Z",
"datePublished": "2024-05-21T14:35:52.284Z",
"dateUpdated": "2026-08-05T08:47:21.617Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:47:21.617Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncoresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()\n\ncommit 6f755e85c332 (\"coresight: Add helper for inserting synchronization\npackets\") removed trailing '\\0' from barrier_pkt array and updated the\ncall sites like etb_update_buffer() to have proper checks for barrier_pkt\nsize before read but missed updating tmc_update_etf_buffer() which still\nreads barrier_pkt past the array size resulting in KASAN out-of-bounds\nbug. Fix this by adding a check for barrier_pkt size before accessing\nlike it is done in etb_update_buffer().\n\n BUG: KASAN: global-out-of-bounds in tmc_update_etf_buffer+0x4b8/0x698\n Read of size 4 at addr ffffffd05b7d1030 by task perf/2629\n\n Call trace:\n dump_backtrace+0x0/0x27c\n show_stack+0x20/0x2c\n dump_stack+0x11c/0x188\n print_address_description+0x3c/0x4a4\n __kasan_report+0x140/0x164\n kasan_report+0x10/0x18\n __asan_report_load4_noabort+0x1c/0x24\n tmc_update_etf_buffer+0x4b8/0x698\n etm_event_stop+0x248/0x2d8\n etm_event_del+0x20/0x2c\n event_sched_out+0x214/0x6f0\n group_sched_out+0xd0/0x270\n ctx_sched_out+0x2ec/0x518\n __perf_event_task_sched_out+0x4fc/0xe6c\n __schedule+0x1094/0x16a0\n preempt_schedule_irq+0x88/0x170\n arm64_preempt_schedule_irq+0xf0/0x18c\n el1_irq+0xe8/0x180\n perf_event_exec+0x4d8/0x56c\n setup_new_exec+0x204/0x400\n load_elf_binary+0x72c/0x18c0\n search_binary_handler+0x13c/0x420\n load_script+0x500/0x6c4\n search_binary_handler+0x13c/0x420\n exec_binprm+0x118/0x654\n __do_execve_file+0x77c/0xba4\n __arm64_compat_sys_execve+0x98/0xac\n el0_svc_common+0x1f8/0x5e0\n el0_svc_compat_handler+0x84/0xb0\n el0_svc_compat+0x10/0x50\n\n The buggy address belongs to the variable:\n barrier_pkt+0x10/0x40\n\n Memory state around the buggy address:\n ffffffd05b7d0f00: fa fa fa fa 04 fa fa fa fa fa fa fa 00 00 00 00\n ffffffd05b7d0f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n >ffffffd05b7d1000: 00 00 00 00 00 00 fa fa fa fa fa fa 00 00 00 03\n ^\n ffffffd05b7d1080: fa fa fa fa 00 02 fa fa fa fa fa fa 03 fa fa fa\n ffffffd05b7d1100: fa fa fa fa 00 00 00 00 05 fa fa fa fa fa fa fa\n =================================================================="
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
"baseScore": 7.1,
"baseSeverity": "HIGH"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The bug is reached only through the CoreSight ETM perf PMU path (perf_event_open → etm_event_stop → tmc_update_etf_buffer), which requires local syscall access on a system with CoreSight ETF hardware.\nAC:L - An attacker who can open a cs_etm session can reliably force lost=true by using a small AUX buffer so to_read exceeds handle->size, which engages the broken barrier_pkt walk without depending on races or uncontrolled state.\nPR:L - Under the default perf_event_paranoid=2, an unprivileged user can open a per-task cs_etm event with exclude_kernel set; etm_event_init imposes no CAP_PERFMON/CAP_SYS_ADMIN check, so real root is not required.\nUI:N - The attacker configures and drives the perf session themselves; no separate victim action is required to reach tmc_update_etf_buffer.\nS:U - Impact stays within the host kernel authority (kernel memory disclosure / potential oops); there is no VM, IOMMU, or sandbox boundary crossing.\nC:H - When lost is set, the vulnerable loop keeps reading past coresight_barrier_pkt and writes those OOB kernel words into the attacker-readable perf AUX buffer, yielding an unbounded-until-zero out-of-bounds kernel read to userspace.\nI:N - The only stores are into the attacker’s own AUX data_pages; there is no out-of-bounds or attacker-controlled write to other kernel memory or integrity-sensitive state.\nA:H - The global out-of-bounds read is a memory-safety violation that can fault if the walk proceeds into unmapped memory, and per scoring policy the higher availability impact is selected when a crash cannot be ruled out."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/hwtracing/coresight/coresight-tmc-etf.c"
],
"versions": [
{
"version": "0c3fc4d5fa26092853278145aca9b21fa52a3e93",
"lessThan": "04bd77ef4f4d9fc6102023b85f4590fc2130aac5",
"status": "affected",
"versionType": "git"
},
{
"version": "0c3fc4d5fa26092853278145aca9b21fa52a3e93",
"lessThan": "ef0a06acc6b16388640ad367eedfa2a17f1945db",
"status": "affected",
"versionType": "git"
},
{
"version": "0c3fc4d5fa26092853278145aca9b21fa52a3e93",
"lessThan": "35c1c4bd2d59ad734129d4e232af9d1098023918",
"status": "affected",
"versionType": "git"
},
{
"version": "0c3fc4d5fa26092853278145aca9b21fa52a3e93",
"lessThan": "733d4d95c0101d5f277b8e4910411d016e49a9dc",
"status": "affected",
"versionType": "git"
},
{
"version": "0c3fc4d5fa26092853278145aca9b21fa52a3e93",
"lessThan": "0115687be7b13993066aef602253a53d55f5b11f",
"status": "affected",
"versionType": "git"
},
{
"version": "0c3fc4d5fa26092853278145aca9b21fa52a3e93",
"lessThan": "5fae8a946ac2df879caf3f79a193d4766d00239b",
"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/hwtracing/coresight/coresight-tmc-etf.c"
],
"versions": [
{
"version": "4.14",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.14",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.19.198",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.133",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.51",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.12.18",
"lessThanOrEqual": "5.12.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.13.3",
"lessThanOrEqual": "5.13.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.14",
"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": "4.14",
"versionEndExcluding": "4.19.198"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.14",
"versionEndExcluding": "5.4.133"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.14",
"versionEndExcluding": "5.10.51"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.14",
"versionEndExcluding": "5.12.18"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.14",
"versionEndExcluding": "5.13.3"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.14",
"versionEndExcluding": "5.14"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/04bd77ef4f4d9fc6102023b85f4590fc2130aac5"
},
{
"url": "https://git.kernel.org/stable/c/ef0a06acc6b16388640ad367eedfa2a17f1945db"
},
{
"url": "https://git.kernel.org/stable/c/35c1c4bd2d59ad734129d4e232af9d1098023918"
},
{
"url": "https://git.kernel.org/stable/c/733d4d95c0101d5f277b8e4910411d016e49a9dc"
},
{
"url": "https://git.kernel.org/stable/c/0115687be7b13993066aef602253a53d55f5b11f"
},
{
"url": "https://git.kernel.org/stable/c/5fae8a946ac2df879caf3f79a193d4766d00239b"
}
],
"title": "coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"timestamp": "2024-06-12T14:59:57.859823Z",
"id": "CVE-2021-47346",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-06-12T15:00:09.791Z"
}
},
{
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2024-08-04T05:32:08.526Z"
},
"title": "CVE Program Container",
"references": [
{
"url": "https://git.kernel.org/stable/c/04bd77ef4f4d9fc6102023b85f4590fc2130aac5",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/ef0a06acc6b16388640ad367eedfa2a17f1945db",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/35c1c4bd2d59ad734129d4e232af9d1098023918",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/733d4d95c0101d5f277b8e4910411d016e49a9dc",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/0115687be7b13993066aef602253a53d55f5b11f",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/5fae8a946ac2df879caf3f79a193d4766d00239b",
"tags": [
"x_transferred"
]
}
]
}
]
}
}