Resource exhaustion in Xen Xapi
CVE-2020-29487
An issue was discovered in Xen XAPI before 2020-12-15. Certain xenstore keys provide feedback from the guest, and are therefore watched by toolstack. Specifically, keys are watched by xenopsd, and data are forwarded via RPC through message-switch to xapi. The watching logic in xenopsd sends one RPC update containing all data, any time any single xenstore key is updated, and therefore has O(N^2) time complexity. Furthermore, message-switch retains recent (currently 128) RPC messages for diagnostic purposes, yielding O(M*N) space complexity. The quantity of memory a single guest can monopolise is bounded by xenstored quota, but the quota is fairly large. It is believed to be in excess of 1G per malicious guest. In practice, this manifests as a host denial of service, either through message-switch thrashing against swap, or OOMing entirely, depending on dom0's configuration. (There are no quotas in xenopsd to limit the quantity of keys that result in RPC traffic.) A buggy or malicious guest can cause unreasonable memory usage in dom0, resulting in a host denial of service. All versions of XAPI are vulnerable. Systems that are not using the XAPI toolstack are not vulnerable.
Published · last modified .
CVSS v3 metric
CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
EPSS exploit prediction
EPSS: 0.014 (72.3th percentile), scored .
Low probability of exploitation in the next 30 days, but still tracked. 72nd percentile — 72.3% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.014 · newest: 0.014 · change: +0.000
Affected products
Weakness classification (CWE)
References
- xenbits.xenproject.org/xsa/advisory-354.html (Patch, Vendor Advisory)
- security.gentoo.org/glsa/202107-30 (vendor-advisory, Third Party Advisory)
Frequently asked questions
- What is CVE-2020-29487?
- CVE-2020-29487 is a high-severity vulnerability in Xen Xapi, classified under Allocation of Resources Without Limits or Throttling. CVSS score: 7.5/10. Published 2020-12-15.
- How severe is CVE-2020-29487?
- High severity. CVSS v3 base score is 7.5 out of 10.