Skip to main content
← All vulnerabilities
CVE-2026-46107

dm-thin: fix metadata refcount underflow

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.259, 5.15.209, 6.1.175, 6.6.140, 6.12.88, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: dm-thin: fix metadata refcount underflow There's a bug in dm-thin in the function rebalance_children. If the internal btree node has one entry, the code tries to copy all btree entries from the node's child to the node itself and then decrement the child's reference count. If the child node is shared (it has reference count > 1), we won't free it, so there would be two pointers to each of the grandchildren nodes. But the reference counts of the grandchildren is not increased, thus the reference count doesn't match the number of pointers that point to the grandchildren. This results in "device mapper: space map common: unable to decrement block" errors. Fix this bug by incrementing reference counts on the grandchildren if the btree node is shared.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in b719d12cb94df345e9ad2715fd0abe9afcaeb111; From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in f49b41c9eb7c6ff00df27cd49cea210abbadd8ad; From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in f06f6aededd792a754cd677c02b3d3016d868c2c; From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in 12161e03d33afce781f68fa11cc6060538862fad; From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in 323d252a4a378834e4fe68298ca61cfc5dd3a460; From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in 85311a585a26640760cd0f3349ab9f2905691044; From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in 5ec0debbcfd43596e32c1239e993de06a704e04c; From 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 · fixed in 09a65adc7d8bbfce06392cb6d375468e2728ead5

  • Linux Linux

    3.2

  • KernelLinux

    From 3.2.0 · fixed in 5.10.259; From 5.11.0 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.140; From 6.7.0 · fixed in 6.12.88; From 6.13.0 · fixed in 6.18.30; From 6.19.0 · fixed in 7.0.7

References 8

git.kernel.org