CVE-2021-47604

Summary

In the Linux kernel, the following vulnerability has been resolved:

vduse: check that offset is within bounds in get_config()

This condition checks "len" but it does not check "offset" and that could result in an out of bounds read if "offset > dev->config_size". The problem is that since both variables are unsigned the "dev->config_size - offset" subtraction would result in a very high unsigned value.

I think these checks might not be necessary because "len" and "offset" are supposed to already have been validated using the vhost_vdpa_config_validate() function. But I do not know the code perfectly, and I like to be safe.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc8a6153b6c59d95c0e091f053f6f180952ade91e < ebbbc5fea3f648175df1aa3f127c78eb0252cc2aaffected
LinuxLinuxc8a6153b6c59d95c0e091f053f6f180952ade91e < dc1db0060c02d119fd4196924eff2d1129e9a442affected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux5.15.11 <= 5.15.*unaffected
LinuxLinux5.16 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References