CVE-2026-43405CWE-190CWE-908

CVE-2026-43405

High · published May 8, 2026

CVSS v3.1
7.5
EPSS
1%
Percentile
52.6
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

libceph: Use u32 for non-negative values in ceph_monmap_decode()

This patch fixes unnecessary implicit conversions that change signedness

of blob_len and num_mon in ceph_monmap_decode().

Currently blob_len and num_mon are (signed) int variables. They are used

to hold values that are always non-negative and get assigned in

ceph_decode_32_safe(), which is meant to assign u32 values. Both

variables are subsequently used as unsigned values, and the value of

num_mon is further assigned to monmap->num_mon, which is of type u32.

Therefore, both variables should be of type u32. This is especially

relevant for num_mon. If the value read from the incoming message is

very large, it is interpreted as a negative value, and the check for

num_mon > CEPH_MAX_MON does not catch it. This leads to the attempt to

allocate a very large chunk of memory for monmap, which will most likely

fail. In this case, an unnecessary attempt to allocate memory is

performed, and -ENOMEM is returned instead of -EINVAL.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00700 · 52.6th percentile
Weaknesses
CWE-190 · Integer Overflow or Wraparound; CWE-908 · Use of Uninitialized Resource
Published
2026-05-08T19:16Z
Affected products (9)
ProductVersionsFixed in
linux/linux_kernel≥ 5.11, < 5.15.2035.15.203
linux/linux_kernel≥ 5.16, < 6.1.1676.1.167
linux/linux_kernel≥ 6.2, < 6.6.1306.6.130
linux/linux_kernel≥ 6.7, < 6.12.786.12.78
linux/linux_kernel≥ 6.13, < 6.18.196.18.19
linux/linux_kernel≥ 6.19, < 6.19.96.19.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (7)
EPSS history
Timeline
  • 08 MAY 14:21Z
    libceph: Use u32 for non-negative values in ceph_monmap_decode()
    cvelistv5