{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2021-47646","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-02-26T01:48:21.520Z","datePublished":"2025-02-26T01:54:15.122Z","dateUpdated":"2026-08-11T02:05:32.009Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-11T02:05:32.009Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nRevert \"Revert \"block, bfq: honor already-setup queue merges\"\"\n\nA crash [1] happened to be triggered in conjunction with commit\n2d52c58b9c9b (\"block, bfq: honor already-setup queue merges\"). The\nlatter was then reverted by commit ebc69e897e17 (\"Revert \"block, bfq:\nhonor already-setup queue merges\"\"). Yet, the reverted commit was not\nthe one introducing the bug. In fact, it actually triggered a UAF\nintroduced by a different commit, and now fixed by commit d29bd41428cf\n(\"block, bfq: reset last_bfqq_created on group change\").\n\nSo, there is no point in keeping commit 2d52c58b9c9b (\"block, bfq:\nhonor already-setup queue merges\") out. This commit restores it.\n\n[1] https://bugzilla.kernel.org/show_bug.cgi?id=214503"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerability is in the BFQ block I/O scheduler and is reached via local syscalls that submit I/O (read/write/fsync/ioctl), through bfq_init_rq → bfq_get_queue / bfq_setup_cooperator; it is not reachable from network packet processing.\nAC:L - An unprivileged attacker can reliably drive the buggy path by spawning processes that issue concurrent I/O and by migrating between blkcgs so queues are created, merged, moved, and freed under attacker control; success does not depend on victim state beyond BFQ being the active scheduler.\nPR:L - Only an unprivileged local account is required to submit I/O on a BFQ-scheduled device; changing the elevator needs privileges, but BFQ (with group I/O scheduling) is a common/default deployment (e.g. Android), so the attacker need not already be root.\nUI:N - Exploitation requires no action by another user; the attacker triggers the bug solely through their own I/O and process/cgroup activity.\nS:U - Impact is confined to the local kernel's security authority (memory corruption / privilege escalation on the host); there is no VM escape, IOMMU bypass, or other cross-boundary scope change.\nC:H - The issue is a use-after-free of bfq_queue objects (dangling last_bfqq_created / broken merge state), which per kernel CVSS guidance yields an arbitrary-read primitive via heap reuse of the freed object.\nI:H - The same UAF/memory-corruption condition enables heap spraying and arbitrary-write / control-flow hijacking in kernel context, so integrity impact is High.\nA:H - The bug causes kernel oops/BUG_ON and slab freelist corruption (demonstrated in bugzilla 214503 crashes in bfq_get_queue / bfq_do_early_stable_merge), so availability impact is High."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["block/bfq-iosched.c"],"versions":[{"version":"430a67f9d6169a7b3e328bceb2ef9542e4153c7c","lessThan":"65d8a737452e88f251fe5d925371de6d606df613","status":"affected","versionType":"git"},{"version":"430a67f9d6169a7b3e328bceb2ef9542e4153c7c","lessThan":"abc2129e646af7b43025d90a071f83043f1ae76c","status":"affected","versionType":"git"},{"version":"430a67f9d6169a7b3e328bceb2ef9542e4153c7c","lessThan":"4083925bd6dc89216d156474a8076feec904e607","status":"affected","versionType":"git"},{"version":"430a67f9d6169a7b3e328bceb2ef9542e4153c7c","lessThan":"15729ff8143f8135b03988a100a19e66d7cb7ecd","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["block/bfq-iosched.c"],"versions":[{"version":"5.13","status":"affected"},{"version":"0","lessThan":"5.13","status":"unaffected","versionType":"semver"},{"version":"5.15.33","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"5.16.19","lessThanOrEqual":"5.16.*","status":"unaffected","versionType":"semver"},{"version":"5.17.2","lessThanOrEqual":"5.17.*","status":"unaffected","versionType":"semver"},{"version":"5.18","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.13","versionEndExcluding":"5.15.33"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.16.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.17.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.18"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/65d8a737452e88f251fe5d925371de6d606df613"},{"url":"https://git.kernel.org/stable/c/abc2129e646af7b43025d90a071f83043f1ae76c"},{"url":"https://git.kernel.org/stable/c/4083925bd6dc89216d156474a8076feec904e607"},{"url":"https://git.kernel.org/stable/c/15729ff8143f8135b03988a100a19e66d7cb7ecd"}],"title":"Revert \"Revert \"block, bfq: honor already-setup queue merges\"\"","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2021-47646","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2025-02-27T17:59:39.194997Z"}}}],"problemTypes":[{"descriptions":[{"lang":"en","type":"CWE","cweId":"CWE-416","description":"CWE-416 Use After Free"}]}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2025-02-27T18:02:30.637Z"}}]}}