In the Linux kernel, the following vulnerability has been resolved:
hfsplus: Add a sanity check for btree node size
Syzbot reported an uninit-value bug in [1] with a corrupted HFS+ image, during the file system mounting process, specifically while loading the catalog, a corrupted nodesize value of 1 caused the recoff argument passed to hfsbnodereadu16() (within hfsbnode_find()) to be excessively large. Consequently, the function failed to return a valid value to initialize the off variable, triggering the bug [1].
Every node starts from BTree node descriptor: struct hfsbnodedesc. So, the size of node cannot be lesser than that. However, technical specification declares that: "The node size (which is expressed in bytes) must be power of two, from 512 through 32,768, inclusive." Add a check for btree node size base on technical specification.
[1] BUG: KMSAN: uninit-value in hfsplusbnodefind+0x141c/0x1600 fs/hfsplus/bnode.c:584 hfsplusbnodefind+0x141c/0x1600 fs/hfsplus/bnode.c:584 hfsplusbtreeopen+0x169a/0x1e40 fs/hfsplus/btree.c:382 hfsplusfillsuper+0x111f/0x2770 fs/hfsplus/super.c:553 gettreebdevflags+0x6e6/0x920 fs/super.c:1694 gettreebdev+0x38/0x50 fs/super.c:1717 hfsplusgettree+0x35/0x40 fs/hfsplus/super.c:709 vfsgettree+0xb3/0x5d0 fs/super.c:1754 fcmount fs/namespace.c:1193 [inline]
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80656.json",
"cna_assigner": "Linux"
}