af_netlink: Fix shift out of bounds in group mask calculation (Linux Linux)

CVE-2022-49197
MEDIUM 5.5

At a glance

Source
NVD
EPSS
EPSS 0.28 % · percentile 20 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Analyzed

Description

In the Linux kernel, the following vulnerability has been resolved: af_netlink: Fix shift out of bounds in group mask calculation When a netlink message is received, netlink_recvmsg() fills in the address of the sender. One of the fields is the 32-bit bitfield nl_groups, which carries the multicast group on which the message was received. The least significant bit corresponds to group 1, and therefore the highest group that the field can represent is 32. Above that, the UB sanitizer flags the out-of-bounds shift attempts. Which bits end up being set in such case is implementation defined, but it's either going to be a wrong non-zero value, or zero, which is at least not misleading. Make the latter choice deterministic by always setting to 0 for higher-numbered multicast groups. To get information about membership in groups >= 32, userspace is expected to use nl_pktinfo control messages[0], which are enabled by NETLINK_PKTINFO socket option. [0] https://lwn.net/Articles/147608/ The way to trigger this issue is e.g. through monitoring the BRVLAN group: # bridge monitor vlan & # ip link add name br type bridge Which produces the following citation: UBSAN: shift-out-of-bounds in net/netlink/af_netlink.c:162:19 shift exponent 32 is too large for 32-bit type 'int'

Weaknesses (CWE)

  • CWE-190 — Integer Overflow or Wraparound

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected f7fa9b10edbb9391bdd4ec8e8b3d621d0664b198 < e1c5d46f05aa23d740daae5cd3a6472145afac42 ; affected f7fa9b10edbb9391bdd4ec8e8b3d621d0664b198 < ac5883a8890a11c00b32a19949a25d4afeaa2f5a ; affected f7fa9b10edbb9391bdd4ec8e8b3d621d0664b198 < f75f4abeec4c04b600a15b50c89a481f1e7435ee ; affected f7fa9b10edbb9391bdd4ec8e8b3d621d0664b198 < 41249fff507387c3323b198d0052faed08b14de4 ; affected f7fa9b10edbb9391bdd4ec8e8b3d621d0664b198 < b0898362188e05b2202656058cc32d98fabf3bac ; affected f7fa9b10edbb9391bdd4ec8e8b3d621d0664b198 < 7409ff6393a67ff9838d0ae1bd102fb5f020d07a
Linux · Linuxaffected 2.6.14 ; unaffected 0 < 2.6.14 ; unaffected 4.9.311 ≤ 4.9.* ; unaffected 4.14.276 ≤ 4.14.* ; unaffected 4.19.238 ≤ 4.19.* ; unaffected 5.4.189 ≤ 5.4.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD