Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
930c532869774ebf8af9efe9484c597f896a7d46 to < 2ceee3b77b83052648c40fef965f836fd7699d26affected930c532869774ebf8af9efe9484c597f896a7d46 to < e4473751cc37db41f3f7da25d64a23e0c74570f1affected930c532869774ebf8af9efe9484c597f896a7d46 to < f6961070c326bd158c38fa48756cde2bd78c4aaaaffected930c532869774ebf8af9efe9484c597f896a7d46 to < 05c90e059269f087becfcce23348496085835c29affected930c532869774ebf8af9efe9484c597f896a7d46 to < 143ba49ead77ec483c0326f8aaad8649874e99c4affected930c532869774ebf8af9efe9484c597f896a7d46 to < 1732d89dfcd74f6fde9ce70900d316c4a151c153affected930c532869774ebf8af9efe9484c597f896a7d46 to < bee4b5b53e7bff0467fd916cc44c9b190733c6bdaffected930c532869774ebf8af9efe9484c597f896a7d46 to < 98917a499ec7064c14fc56d180a4fd636fc2784caffected1196c36fd53c3b1615eb02f986cb727b1dfc1047affectedbbc3aa6b0e6050b2b2e04a08dd4d6423d576b196affected6b96b2d473701b45df3fea8dd9796b6ec39e6d54affected7405d73cea0d0e6c541f5c534078feeb46188844affected8777c9f654637d56f4c4ca54eb1bc7c609b70085affected6831c98ce0b8a3e88db64aa224372effd0dcc694affected032951d32c13b7564dfba82758260cb7aa1149d2affected14877928f10667a5606383885d004f7185f33718affected3.10.103 to < 3.11affected3.12.63 to < 3.13affected3.14.75 to < 3.15affected3.16.39 to < 3.17affected3.18.39 to < 3.19affected4.1.30 to < 4.2affected4.4.17 to < 4.5affected4.6.6 to < 4.7affected
Linux Linux
Default version status: affected
4.7affected0 to < 4.7unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.148 to ≤ 6.6.*unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/2ceee3b77b83052648c40fef965f836fd7699d26 ↗
- https://git.kernel.org/stable/c/e4473751cc37db41f3f7da25d64a23e0c74570f1 ↗
- https://git.kernel.org/stable/c/f6961070c326bd158c38fa48756cde2bd78c4aaa ↗
- https://git.kernel.org/stable/c/05c90e059269f087becfcce23348496085835c29 ↗
- https://git.kernel.org/stable/c/143ba49ead77ec483c0326f8aaad8649874e99c4 ↗
- https://git.kernel.org/stable/c/1732d89dfcd74f6fde9ce70900d316c4a151c153 ↗
- https://git.kernel.org/stable/c/bee4b5b53e7bff0467fd916cc44c9b190733c6bd ↗
- https://git.kernel.org/stable/c/98917a499ec7064c14fc56d180a4fd636fc2784c ↗