Oxenstored 32->31 bit integer truncation issues Integers in Ocaml are 63 or 31 bits of signed precision. The Ocaml Xenbus library takes a C uint32_t out of the ring and casts it directly to an Ocaml integer. In 64-bit Ocaml builds this is fine, but in 32-bit builds, it truncates off the most significant bit, and then creates unsigned/signed confusion in the remainder. This in turn can feed a negative value into logic not expecting a negative value, resulting in unexpected exceptions being thrown. The unexpected exception is not handled suitably, creating a busy-loop trying (and failing) to take the bad packet out of the xenstore ring.

Project Subscriptions

Vendors Products
Debian Linux Subscribe
Fedoraproject Subscribe
Advisories
Source ID Title
Debian DSA Debian DSA DSA-5272-1 xen security update
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

No history.

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: XEN

Published:

Updated: 2024-08-03T13:03:45.972Z

Reserved: 2022-10-03T00:00:00

Link: CVE-2022-42324

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2022-11-01T13:15:12.017

Modified: 2024-11-21T07:24:45.167

Link: CVE-2022-42324

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.

Weaknesses