KernelScan.io

CRITICAL

libceph AuthReply OOB

CVE-2026-46119

CVSS 9.1 / 10.0 NVD

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

KernelScan AI9.1CRITICAL

01

In the Linux kernel, the following vulnerability has been resolved: libceph: Fix slab-out-of-bounds access in auth message processing If a (potentially corrupted) message of type CEPH_MSG_AUTH_REPLY contains a positive value in its result field, it is treated as an error code by ceph_handle_auth_reply() and returned to handle_auth_reply(). Thereafter, an attempt is made to send the preallocated message of type CEPH_MSG_AUTH, where the returned value is interpreted as the size of the front segment to send. If the result value in the message is greater than the size of the memory buffer allocated for the front segment, an out-of-bounds access occurs, and the content of the memory region beyond this buffer is sent out. This patch fixes the issue by treating only negative values in the result field as errors. Positive values are therefore treated as success in the same way as a zero value. Additionally, a BUG_ON is added to __send_prepared_auth_request() comparing the len parameter to front_alloc_len to prevent sending the message if it exceeds the bounds of the allocation and to make it easier to catch any logic flaws leading to this.

02

Engine v0.2.0

Risk summary

Systems using Ceph distributed storage are at risk of kernel memory disclosure and denial of service. Attackers who can send crafted authentication reply messages to Ceph clients can trigger out-of-bounds reads, potentially exposing sensitive kernel memory contents over the network or causing a kernel panic if the read length exceeds mapped memory boundaries.

Affectednet/ceph/auth.c and net/ceph/mon_client.c (libceph)

Vulnerability analysis

The vulnerability occurs in libceph's authentication message processing where positive values in CEPH_MSG_AUTH_REPLY result fields are incorrectly treated as error codes by ceph_handle_auth_reply(). The returned value is then interpreted as the size of the front segment to send in the subsequent CEPH_MSG_AUTH message. If this positive value exceeds the allocated buffer size (front_alloc_len), an out-of-bounds read occurs and the contents of memory beyond the buffer are transmitted over the network. The fix corrects the logic to treat only negative values as errors and adds a BUG_ON in __send_prepared_auth_request() to prevent out-of-bounds sends.

03

BranchFixed inPatch commit
5.155.15.209c2374b92c729
6.16.1.17538fdf04c602d
6.126.12.88408e85ee708b
6.186.18.30b7df9fbd4869
6.66.6.1402ae0afd98432
7.07.0.78517b6c8d2c7
mainline7.1-rc11c439de70b1c