CVE-2026-68158

Summary

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

libceph: Fix multiplication overflow in decode_new_up_state_weight()

If a message of type CEPH_MSG_OSD_MAP contains a (maliciously) corrupted osdmap, out-of-bounds memory accesses may occur in decode_new_up_state_weight(). This happens because the bounds check for the new_state part is based on calculating its length depending on a len value read from the incoming message. This calculation may overflow leading to an incorrect bounds check. Subsequently, out-of-bounds reads may occur when decoding this part.

This patch switches the multiplication to use check_mul_overflow() to abort processing the osdmap if an overflow occurred. Therefore, osdmaps/messages containing large values for len that result in a multiplication overflow are treated as invalid.

[ idryomov: rename new_state_len -> new_state_item_size, formatting ]

Affected Software

VendorProductVersion RangeStatus
LinuxLinux930c532869774ebf8af9efe9484c597f896a7d46 < 05c90e059269f087becfcce23348496085835c29affected
LinuxLinux930c532869774ebf8af9efe9484c597f896a7d46 < 143ba49ead77ec483c0326f8aaad8649874e99c4affected
LinuxLinux930c532869774ebf8af9efe9484c597f896a7d46 < 1732d89dfcd74f6fde9ce70900d316c4a151c153affected
LinuxLinux930c532869774ebf8af9efe9484c597f896a7d46 < bee4b5b53e7bff0467fd916cc44c9b190733c6bdaffected
LinuxLinux930c532869774ebf8af9efe9484c597f896a7d46 < 98917a499ec7064c14fc56d180a4fd636fc2784caffected
LinuxLinux1196c36fd53c3b1615eb02f986cb727b1dfc1047affected
LinuxLinuxbbc3aa6b0e6050b2b2e04a08dd4d6423d576b196affected
LinuxLinux6b96b2d473701b45df3fea8dd9796b6ec39e6d54affected
LinuxLinux7405d73cea0d0e6c541f5c534078feeb46188844affected
LinuxLinux8777c9f654637d56f4c4ca54eb1bc7c609b70085affected
LinuxLinux6831c98ce0b8a3e88db64aa224372effd0dcc694affected
LinuxLinux032951d32c13b7564dfba82758260cb7aa1149d2affected
LinuxLinux14877928f10667a5606383885d004f7185f33718affected
LinuxLinux3.10.103 < 3.11affected
LinuxLinux3.12.63 < 3.13affected
LinuxLinux3.14.75 < 3.15affected
LinuxLinux3.16.39 < 3.17affected
LinuxLinux3.18.39 < 3.19affected
LinuxLinux4.1.30 < 4.2affected
LinuxLinux4.4.17 < 4.5affected
LinuxLinux4.6.6 < 4.7affected
LinuxLinux4.7affected
LinuxLinux0 < 4.7unaffected
LinuxLinux6.6.148 <= 6.6.*unaffected
LinuxLinux6.12.101 <= 6.12.*unaffected
LinuxLinux6.18.42 <= 6.18.*unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2-rc5 <= *unaffected

Weaknesses

References