{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63954","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-19T07:54:57.023Z","datePublished":"2026-07-19T14:55:46.183Z","dateUpdated":"2026-08-05T12:37:38.482Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:37:38.482Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nhpfs: fix a crash if hpfs_map_dnode_bitmap fails\n\nIf hpfs_map_dnode_bitmap fails, the code would call hpfs_brelse4 on\nuninitialized quad buffer head, causing a crash."}],"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 bug is reached only through local VFS syscalls (mkdir, create, unlink, rename) on a mounted HPFS filesystem; HPFS is a local block-device filesystem with no network-facing kernel server component.\nAC:L - An attacker can reliably force `hpfs_map_dnode_bitmap()` to fail by mounting a crafted image (e.g. with `check=none` and an invalid `dir_band_bitmap`) or by corrupting the loop/backing device after mount to induce read errors, then triggering a directory operation.\nPR:L - Exploitation requires mounting HPFS (achievable with CAP_SYS_ADMIN inside an unprivileged user namespace) and write access to the mountpoint; it does not require real root in the initial namespace.\nUI:N - In the highest-impact path, the attacker mounts their own malicious HPFS image inside a user namespace and triggers the bug themselves without requiring any victim action such as plugging in media or mounting untrusted storage.\nS:U - Impact is confined to kernel memory management within the same kernel security domain; there is no crossing of VM, container, or IOMMU boundaries.\nC:H - Calling `hpfs_brelse4()` on an uninitialized `quad_buffer_head` performs `kfree()` and `brelse()` on stack garbage, which is uncontrolled memory corruption that can corrupt slab metadata or dereference arbitrary pointers, not a bounded NULL dereference.\nI:H - The erroneous `kfree()`/`brelse()` calls on uninitialized pointers can corrupt kernel heap state and potentially be leveraged for arbitrary writes, matching the guidance to score uncertain memory-corruption bugs at High.\nA:H - The bug reliably causes a kernel oops or panic when `hpfs_map_dnode_bitmap()` fails, resulting in complete loss of system availability for the affected host."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/hpfs/alloc.c"],"versions":[{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"010b08084000ef018f1a8de5197087f3b91d8cfe","status":"affected","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"d98d8562b3284b5a5c8eb67e71b794508e46e288","status":"affected","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"1648a3c7f4e18f46a4881920133fc4f2494185a0","status":"affected","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"7c58c55a2a16f7274772507bd1637be609351b4f","status":"affected","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"1d73a533760bc5abb83b3cc759133596f7bb708f","status":"affected","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"0886c6f257fe3663f80218aa1919b0f3f21bf22c","status":"affected","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"4f37bb30b57d6d403d02673074555bd3c3602bef","status":"affected","versionType":"git"},{"version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","lessThan":"974820a59efde7c1a7e1260bcfe9bb81f833cc9f","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/hpfs/alloc.c"],"versions":[{"version":"2.6.12","status":"affected"},{"version":"0","lessThan":"2.6.12","status":"unaffected","versionType":"semver"},{"version":"5.10.259","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.210","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.176","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.143","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.93","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.35","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.12","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","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":"2.6.12","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.12.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"6.18.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"7.0.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.12","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/010b08084000ef018f1a8de5197087f3b91d8cfe"},{"url":"https://git.kernel.org/stable/c/d98d8562b3284b5a5c8eb67e71b794508e46e288"},{"url":"https://git.kernel.org/stable/c/1648a3c7f4e18f46a4881920133fc4f2494185a0"},{"url":"https://git.kernel.org/stable/c/7c58c55a2a16f7274772507bd1637be609351b4f"},{"url":"https://git.kernel.org/stable/c/1d73a533760bc5abb83b3cc759133596f7bb708f"},{"url":"https://git.kernel.org/stable/c/0886c6f257fe3663f80218aa1919b0f3f21bf22c"},{"url":"https://git.kernel.org/stable/c/4f37bb30b57d6d403d02673074555bd3c3602bef"},{"url":"https://git.kernel.org/stable/c/974820a59efde7c1a7e1260bcfe9bb81f833cc9f"}],"title":"hpfs: fix a crash if hpfs_map_dnode_bitmap fails","x_generator":{"engine":"bippy-1.2.0"}}}}