CVE-2026-14587
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk30th percentile - higher than 30% of all known CVEs
Summary
A vulnerability in Neo4j's Bolt modern handshake decoder treats an overlong capability bit mask the same as a truncated one. An unauthenticated client can send a selected protocol version with 32 continuation bytes, causing the decoder to reset the reader index and wait for more bytes instead of rejecting the message. The channel remains open, which can be exploited before authentication.
Risk Assessment
The risk involves potential DoS attacks or exploitation of an unclosed channel for further manipulation, which could disrupt service.
Recommendation
It is recommended to update Neo4j to a patched version and monitor Bolt connections for unusual patterns. Also consider restricting access to the Bolt port.
Other vulnerabilities in Neo4j
See all- CVE-2026-1337Medium
Insufficient escaping of unicode characters in query log in Neo4j Enterprise and Community editions prior to 2026.01 can lead to XSS if the user opens the logs in a tool that treats them as HTML. There is no security impact on Neo4j products, but this advisory is released as a precaution to treat the logs as plain text if using versions prior to 2026.01.
- CVE-2024-34517Medium
The Cypher component in Neo4j 5.0.0 through 5.18 mishandles IMMUTABLE privileges in some situations where an attacker already has admin access.
Original NVD description (English source)
Neo4j's Bolt modern handshake decoder treats an overlong capability bit mask the same way it treats a truncated bit mask. When an unauthenticated client sends a selected protocol version followed by 32 continuation bytes in the capability mask, the decoder resets the reader index and waits for more bytes instead of rejecting the protocol message and closing the channel. Because the same unread bytes remain at the front of the decoder buffer, appending a terminating byte later does not recover the connection. The decoder re-reads the same first 32 continuation bytes, returns without producing a handshake-finalization message, and leaves the channel open. This can be triggered before authentication by any client that can reach the Bolt connector.

