KernelScan.io

HIGH

libceph Auth NullDeref

CVE-2026-46024

CVSS 7.5 / 10.0 NVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

KernelScan AI7.5HIGH

01

In the Linux kernel, the following vulnerability has been resolved: libceph: Prevent potential null-ptr-deref in ceph_handle_auth_reply() If a message of type CEPH_MSG_AUTH_REPLY contains a zero value for both protocol and result, this is currently not treated as an error. In case of ac->negotiating == true and ac->protocol > 0, this leads to setting ac->protocol = 0 and ac->ops = NULL. Thereafter, the check for ac->protocol != protocol returns false, and init_protocol() is not called. Subsequently, ac->ops->handle_reply() is called, which leads to a null pointer dereference, because ac->ops is still NULL. This patch changes the check for ac->protocol != protocol to !ac->protocol, as this also includes the case when the protocol was set to zero in the message. This causes the message to be treated as containing a bad auth protocol.

02

Engine v0.2.0

Risk summary

Remote attackers can crash systems using Ceph storage by sending malformed authentication messages. This affects any system with Ceph client connectivity, including distributed storage clusters and cloud infrastructure. The vulnerability causes immediate kernel panic with no recovery.

Affectednet/ceph/auth.c (Ceph networking)

Vulnerability analysis

The vulnerability occurs in Ceph authentication message handling when a CEPH_MSG_AUTH_REPLY message contains zero values for both protocol and result fields. The original code sets ac->protocol = 0 and ac->ops = NULL during negotiation, but the subsequent check 'ac->protocol != protocol' evaluates to false when both are zero, skipping protocol initialization. This leaves ac->ops as NULL, causing a null pointer dereference when ac->ops->handle_reply() is called. The fix changes the condition to '!ac->protocol' to properly detect the invalid zero protocol and trigger error handling. Attack surface is network-reachable through Ceph protocol connections without requiring local access.

03

BranchFixed inPatch commit
5.155.15.2099ded62c302c0
6.16.1.175f101271fcf55
6.126.12.86927e4bd5692f
6.186.18.27016bc6636573
6.66.6.1404b2738b93eda
7.07.0.48f2be7285941
mainline7.1-rc15199c125d25a