Description · from the CVE record
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
ProductAffectedFixed inSource
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < 2ceee3b77b83052648c40fef965f836fd7699d262ceee3b77b83052648c40fef965f836fd7699d26CNA
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < e4473751cc37db41f3f7da25d64a23e0c74570f1e4473751cc37db41f3f7da25d64a23e0c74570f1CNA
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < f6961070c326bd158c38fa48756cde2bd78c4aaaf6961070c326bd158c38fa48756cde2bd78c4aaaCNA
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < 05c90e059269f087becfcce23348496085835c2905c90e059269f087becfcce23348496085835c29CNA
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < 143ba49ead77ec483c0326f8aaad8649874e99c4143ba49ead77ec483c0326f8aaad8649874e99c4CNA
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < 1732d89dfcd74f6fde9ce70900d316c4a151c1531732d89dfcd74f6fde9ce70900d316c4a151c153CNA
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < bee4b5b53e7bff0467fd916cc44c9b190733c6bdbee4b5b53e7bff0467fd916cc44c9b190733c6bdCNA
Linux930c532869774ebf8af9efe9484c597f896a7d46 – < 98917a499ec7064c14fc56d180a4fd636fc2784c98917a499ec7064c14fc56d180a4fd636fc2784cCNA
Linux1196c36fd53c3b1615eb02f986cb727b1dfc1047–CNA
Linuxbbc3aa6b0e6050b2b2e04a08dd4d6423d576b196–CNA
Linux6b96b2d473701b45df3fea8dd9796b6ec39e6d54–CNA
Linux7405d73cea0d0e6c541f5c534078feeb46188844–CNA