An issue was discovered in Xen through 4.13.x, allowing guest OS users to cause a denial of service because of a bad error path in GNTTABOP_map_grant. Grant table operations are expected to return 0 for success, and a negative number for errors. Some misplaced brackets cause one error path to return 1 instead of a negative value. The grant table code in Linux treats this condition as success, and proceeds with incorrectly initialised state. A buggy or malicious guest can construct its grant table in such a way that, when a backend domain tries to map a grant, it hits the incorrect error path. This will crash a Linux based dom0 or backend domain.
The product does not handle or incorrectly handles an exceptional condition.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Xen | Xen | * | 4.13.0 (including) |
Xen | Xen | 4.13.0-rc1 (including) | 4.13.0-rc1 (including) |
Xen | Xen | 4.13.0-rc2 (including) | 4.13.0-rc2 (including) |
Xen | Ubuntu | bionic | * |
Xen | Ubuntu | eoan | * |
Xen | Ubuntu | focal | * |
Xen | Ubuntu | groovy | * |
Xen | Ubuntu | hirsute | * |
Xen | Ubuntu | impish | * |
Xen | Ubuntu | trusty | * |
Xen | Ubuntu | xenial | * |