{
    "CVE_data_meta": {
        "ASSIGNER": "security@xen.org",
        "ID": "CVE-2022-42324",
        "STATE": "PUBLIC"
    },
    "affects": {
        "vendor": {
            "vendor_data": [
                {
                    "product": {
                        "product_data": [
                            {
                                "product_name": "xen",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_affected": "?",
                                            "version_value": "consult Xen advisory XSA-420"
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "vendor_name": "Xen"
                }
            ]
        }
    },
    "configuration": {
        "configuration_data": {
            "description": {
                "description_data": [
                    {
                        "lang": "eng",
                        "value": "All versions of Xen are affected.\n\nSystems running a 32-bit build of oxenstored are affected.\n\nSystems running a 64-bit build of oxenstored, or systems running (C)\nxenstored are not affected."
                    }
                ]
            }
        }
    },
    "credit": {
        "credit_data": {
            "description": {
                "description_data": [
                    {
                        "lang": "eng",
                        "value": "This issue was discovered by J\u00fcrgen Gro\u00df of SUSE."
                    }
                ]
            }
        }
    },
    "data_format": "MITRE",
    "data_type": "CVE",
    "data_version": "4.0",
    "description": {
        "description_data": [
            {
                "lang": "eng",
                "value": "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."
            }
        ]
    },
    "impact": {
        "impact_data": {
            "description": {
                "description_data": [
                    {
                        "lang": "eng",
                        "value": "A malicious or buggy guest can write a packet into the xenstore ring\nwhich causes 32-bit builds of oxenstored to busy loop."
                    }
                ]
            }
        }
    },
    "problemtype": {
        "problemtype_data": [
            {
                "description": [
                    {
                        "lang": "eng",
                        "value": "unknown"
                    }
                ]
            }
        ]
    },
    "references": {
        "reference_data": [
            {
                "url": "https://xenbits.xenproject.org/xsa/advisory-420.txt",
                "refsource": "MISC",
                "name": "https://xenbits.xenproject.org/xsa/advisory-420.txt"
            },
            {
                "refsource": "CONFIRM",
                "name": "http://xenbits.xen.org/xsa/advisory-420.html",
                "url": "http://xenbits.xen.org/xsa/advisory-420.html"
            },
            {
                "refsource": "MLIST",
                "name": "[oss-security] 20221101 Xen Security Advisory 420 v2 (CVE-2022-42324) - Oxenstored 32->31 bit integer truncation issues",
                "url": "http://www.openwall.com/lists/oss-security/2022/11/01/10"
            },
            {
                "refsource": "DEBIAN",
                "name": "DSA-5272",
                "url": "https://www.debian.org/security/2022/dsa-5272"
            },
            {
                "refsource": "FEDORA",
                "name": "FEDORA-2022-07438e12df",
                "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZLI2NPNEH7CNJO3VZGQNOI4M4EWLNKPZ/"
            },
            {
                "refsource": "FEDORA",
                "name": "FEDORA-2022-99af00f60e",
                "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YZVXG7OOOXCX6VIPEMLFDPIPUTFAYWPE/"
            },
            {
                "refsource": "FEDORA",
                "name": "FEDORA-2022-9f51d13fa3",
                "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YTMITQBGC23MSDHUCAPCVGLMVXIBXQTQ/"
            },
            {
                "refsource": "GENTOO",
                "name": "GLSA-202402-07",
                "url": "https://security.gentoo.org/glsa/202402-07"
            }
        ]
    },
    "workaround": {
        "workaround_data": {
            "description": {
                "description_data": [
                    {
                        "lang": "eng",
                        "value": "Running xenstored instead of oxenstored will avoid the vulnerability."
                    }
                ]
            }
        }
    }
}