Description
In the Linux kernel, the following vulnerability has been resolved: netlabel: validate unlabeled address and mask attribute lengths netlbl_unlabel_addrinfo_get() used the address attribute length to determine whether the attribute data could be read as an IPv4 or IPv6 address, but did not independently validate the corresponding mask attribute length. A crafted Generic Netlink request could therefore provide a valid IPv4/IPv6 address attribute with a shorter mask attribute, which would later be read as a full struct in_addr or struct in6_addr. NLA_BINARY policy lengths are maximum lengths by default, so use NLA_POLICY_EXACT_LEN() for the unlabeled IPv4/IPv6 address and mask attributes. This rejects short attributes during policy validation and also exposes the exact length requirements through policy introspection.
Affected products
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – 975a84fd741440853380d37465b6e226cf47254c
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – 672f0f3b8f875ffe6525a37847eafa7648c4c0c6
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – 95bda3eac0b1454c2cee98d58d9ba6dd8391e843
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – 07a18f5c90dd3d586b73242f5a5bbf0a72f2fdc6
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – 71c52da13c3737493b42d20d9f33de34e03b3156
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – 0c4bb32ad7fdc2dc6a8050f41eb04d4bda56b6c8
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – ccfe292a966079c61ea68a2da303b2a336170993
- Linux / Linux8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd – 9772589b57e44aedc240211c5c3f7a684a034d3a
- Linux / Linux2.6.25 – 2.6.25
- Linux / Linux0 – 2.6.25
- Linux / Linux5.10.259 – 5.10.*
- Linux / Linux5.15.210 – 5.15.*
- Linux / Linux6.1.176 – 6.1.*
- Linux / Linux6.6.143 – 6.6.*
- Linux / Linux6.12.94 – 6.12.*
- Linux / Linux6.18.36 – 6.18.*
- Linux / Linux7.0.13 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/975a84fd741440853380d37465b6e226cf47254c
- MISChttps://git.kernel.org/stable/c/672f0f3b8f875ffe6525a37847eafa7648c4c0c6
- MISChttps://git.kernel.org/stable/c/95bda3eac0b1454c2cee98d58d9ba6dd8391e843
- MISChttps://git.kernel.org/stable/c/07a18f5c90dd3d586b73242f5a5bbf0a72f2fdc6
- MISChttps://git.kernel.org/stable/c/71c52da13c3737493b42d20d9f33de34e03b3156
- MISChttps://git.kernel.org/stable/c/0c4bb32ad7fdc2dc6a8050f41eb04d4bda56b6c8
- MISChttps://git.kernel.org/stable/c/ccfe292a966079c61ea68a2da303b2a336170993
- MISChttps://git.kernel.org/stable/c/9772589b57e44aedc240211c5c3f7a684a034d3a