HIGH
libceph Auth NullDeref
CVE-2026-46024
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
KernelScan AI7.5HIGH
01Description
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.
02KernelScan AI Analysis
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.
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.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 5.15 | 5.15.209 | 9ded62c302c0 |
| 6.1 | 6.1.175 | f101271fcf55 |
| 6.12 | 6.12.86 | 927e4bd5692f |
| 6.18 | 6.18.27 | 016bc6636573 |
| 6.6 | 6.6.140 | 4b2738b93eda |
| 7.0 | 7.0.4 | 8f2be7285941 |
| mainline | 7.1-rc1 | 5199c125d25a |