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
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < 975a84fd741440853380d37465b6e226cf47254caffected8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < 672f0f3b8f875ffe6525a37847eafa7648c4c0c6affected8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < 95bda3eac0b1454c2cee98d58d9ba6dd8391e843affected8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < 07a18f5c90dd3d586b73242f5a5bbf0a72f2fdc6affected8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < 71c52da13c3737493b42d20d9f33de34e03b3156affected8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < 0c4bb32ad7fdc2dc6a8050f41eb04d4bda56b6c8affected8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < ccfe292a966079c61ea68a2da303b2a336170993affected8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd to < 9772589b57e44aedc240211c5c3f7a684a034d3aaffected
Linux Linux
Default version status: affected
2.6.25affected0 to < 2.6.25unaffected5.10.259 to ≤ 5.10.*unaffected5.15.210 to ≤ 5.15.*unaffected6.1.176 to ≤ 6.1.*unaffected6.6.143 to ≤ 6.6.*unaffected6.12.94 to ≤ 6.12.*unaffected6.18.36 to ≤ 6.18.*unaffected7.0.13 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/975a84fd741440853380d37465b6e226cf47254c ↗
- https://git.kernel.org/stable/c/672f0f3b8f875ffe6525a37847eafa7648c4c0c6 ↗
- https://git.kernel.org/stable/c/95bda3eac0b1454c2cee98d58d9ba6dd8391e843 ↗
- https://git.kernel.org/stable/c/07a18f5c90dd3d586b73242f5a5bbf0a72f2fdc6 ↗
- https://git.kernel.org/stable/c/71c52da13c3737493b42d20d9f33de34e03b3156 ↗
- https://git.kernel.org/stable/c/0c4bb32ad7fdc2dc6a8050f41eb04d4bda56b6c8 ↗
- https://git.kernel.org/stable/c/ccfe292a966079c61ea68a2da303b2a336170993 ↗
- https://git.kernel.org/stable/c/9772589b57e44aedc240211c5c3f7a684a034d3a ↗