CVE-2026-45960

hfsplus: return error when node already exists in hfs_bnode_create

MEDIUM
5.5
CVSS Score
Published: May 27, 2026 at 12:18 PM UTC
Updated: June 17, 2026 at 10:52 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: hfsplus: return error when node already exists in hfs_bnode_create When hfs_bnode_create() finds that a node is already hashed (which should not happen in normal operation), it currently returns the existing node without incrementing its reference count. This causes a reference count inconsistency that leads to a kernel panic when the node is later freed in hfs_bnode_put(): kernel BUG at fs/hfsplus/bnode.c:676! BUG_ON(!atomic_read(&node->refcnt)) This scenario can occur when hfs_bmap_alloc() attempts to allocate a node that is already in use (e.g., when node 0's bitmap bit is incorrectly unset), or due to filesystem corruption. Returning an existing node from a create path is not normal operation. Fix this by returning ERR_PTR(-EEXIST) instead of the node when it's already hashed. This properly signals the error condition to callers, which already check for IS_ERR() return values.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.16 ≤ v < 5.10.2522.6.16 ≤ v < 5.15.2022.6.16 ≤ v < 6.1.1652.6.16 ≤ v < 6.12.752.6.16 ≤ v < 6.18.142.6.16 ≤ v < 6.19.42.6.16 ≤ v < 6.6.1282.6.16 ≤ v < 7.02.6.16.1 ≤ v < 5.10.2525.11 ≤ v < 5.15.2025.16 ≤ v < 6.1.1656.13 ≤ v < 6.18.146.19 ≤ v < 6.19.46.2 ≤ v < 6.6.1286.7 ≤ v < 6.12.752.6.162.6.16 rc22.6.16 rc32.6.16 rc42.6.16 rc52.6.16 rc6634725a92938b0f282b17cec0b007dca77adebd2
Vendor states this is fixed in 1ca428769cb4737a25bd32fb4d1573cc09eeaeef (fixed)
Vendor states this is fixed in 2e6ff6a6fc69cc17ed10c9cb6242935d52acd52d (fixed)
Vendor states this is fixed in 2e9185a42e0e237c74435fd092b7c34537c62156 (fixed)
Vendor states this is fixed in 507a1de58c21c95ad7c44afccaf1222d1c42246b (fixed)
Vendor states this is fixed in 51838112d9c22502333c3085ca0c0d691e7093c6 (fixed)
Vendor states this is fixed in 7b57ada854b32310f224abd61bcfec2d5790ff0a (fixed)
Vendor states this is fixed in 986455135b95f32c1f142068e451098fc751749e (fixed)
Vendor states this is fixed in d8a73cc46c8462a969a7516131feb3096f4c49d3 (fixed)
Vendor states this is fixed in 2.6.16 (unaffected)
Vendor states this is fixed in 5.10.252 (unaffected)
Vendor states this is fixed in 5.15.202 (unaffected)
Vendor states this is fixed in 6.1.165 (unaffected)
Vendor states this is fixed in 6.12.75 (unaffected)
Vendor states this is fixed in 6.18.14 (unaffected)
Vendor states this is fixed in 6.19.4 (unaffected)
Vendor states this is fixed in 6.6.128 (unaffected)
Vendor states this is fixed in 7.0 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-Other

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card