CVE-2023-46842
Vulnerability from cvelistv5
Published
2024-05-16 13:39
Modified
2024-12-04 16:57
Summary
Unlike 32-bit PV guests, HVM guests may switch freely between 64-bit and other modes. This in particular means that they may set registers used to pass 32-bit-mode hypercall arguments to values outside of the range 32-bit code would be able to set them to. When processing of hypercalls takes a considerable amount of time, the hypervisor may choose to invoke a hypercall continuation. Doing so involves putting (perhaps updated) hypercall arguments in respective registers. For guests not running in 64-bit mode this further involves a certain amount of translation of the values. Unfortunately internal sanity checking of these translated values assumes high halves of registers to always be clear when invoking a hypercall. When this is found not to be the case, it triggers a consistency check in the hypervisor and causes a crash.
Impacted products
Vendor Product Version
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 6.5,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "CHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2023-46842",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-05-24T18:23:20.820059Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-843",
                "description": "CWE-843 Access of Resource Using Incompatible Type (\u0027Type Confusion\u0027)",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-12-04T16:57:56.599Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T20:53:21.979Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://xenbits.xenproject.org/xsa/advisory-454.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unknown",
          "product": "Xen",
          "vendor": "Xen",
          "versions": [
            {
              "status": "unknown",
              "version": "consult Xen advisory XSA-454"
            }
          ]
        }
      ],
      "configurations": [
        {
          "lang": "en",
          "value": "All Xen versions from at least 3.2 onwards are vulnerable.  Earlier\nversions have not been inspected.\n\nOnly x86 systems are vulnerable.  Arm systems are not vulnerable.\n\nOnly HVM or PVH guests can leverage the vulnerability.  PV guests cannot\nleverage the vulnerability.\n"
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "This issue was discovered by Manuel Andreas of Technical University of\nMunich.\n"
        }
      ],
      "datePublic": "2024-04-09T11:50:00Z",
      "descriptions": [
        {
          "lang": "en",
          "value": "Unlike 32-bit PV guests, HVM guests may switch freely between 64-bit and\nother modes.  This in particular means that they may set registers used\nto pass 32-bit-mode hypercall arguments to values outside of the range\n32-bit code would be able to set them to.\n\nWhen processing of hypercalls takes a considerable amount of time,\nthe hypervisor may choose to invoke a hypercall continuation.  Doing so\ninvolves putting (perhaps updated) hypercall arguments in respective\nregisters.  For guests not running in 64-bit mode this further involves\na certain amount of translation of the values.\n\nUnfortunately internal sanity checking of these translated values\nassumes high halves of registers to always be clear when invoking a\nhypercall.  When this is found not to be the case, it triggers a\nconsistency check in the hypervisor and causes a crash.\n"
        }
      ],
      "impacts": [
        {
          "descriptions": [
            {
              "lang": "en",
              "value": "A HVM or PVH guest can cause a hypervisor crash, causing a Denial of\nService (DoS) of the entire host.\n"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-05-16T13:39:26.183Z",
        "orgId": "23aa2041-22e1-471f-9209-9b7396fa234f",
        "shortName": "XEN"
      },
      "references": [
        {
          "url": "https://xenbits.xenproject.org/xsa/advisory-454.html"
        }
      ],
      "title": "x86 HVM hypercalls may trigger Xen bug check",
      "workarounds": [
        {
          "lang": "en",
          "value": "Not using HVM / PVH guests will avoid the vulnerability.\n"
        }
      ]
    }
  },
  "cveMetadata": {
    "assignerOrgId": "23aa2041-22e1-471f-9209-9b7396fa234f",
    "assignerShortName": "XEN",
    "cveId": "CVE-2023-46842",
    "datePublished": "2024-05-16T13:39:26.183Z",
    "dateReserved": "2023-10-27T07:55:35.333Z",
    "dateUpdated": "2024-12-04T16:57:56.599Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-46842\",\"sourceIdentifier\":\"security@xen.org\",\"published\":\"2024-05-16T14:15:08.317\",\"lastModified\":\"2024-12-04T17:15:11.343\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Unlike 32-bit PV guests, HVM guests may switch freely between 64-bit and\\nother modes.  This in particular means that they may set registers used\\nto pass 32-bit-mode hypercall arguments to values outside of the range\\n32-bit code would be able to set them to.\\n\\nWhen processing of hypercalls takes a considerable amount of time,\\nthe hypervisor may choose to invoke a hypercall continuation.  Doing so\\ninvolves putting (perhaps updated) hypercall arguments in respective\\nregisters.  For guests not running in 64-bit mode this further involves\\na certain amount of translation of the values.\\n\\nUnfortunately internal sanity checking of these translated values\\nassumes high halves of registers to always be clear when invoking a\\nhypercall.  When this is found not to be the case, it triggers a\\nconsistency check in the hypervisor and causes a crash.\\n\"},{\"lang\":\"es\",\"value\":\"A diferencia de los hu\u00e9spedes PV de 32 bits, los hu\u00e9spedes HVM pueden cambiar libremente entre 64 bits y otros modos. Esto significa en particular que pueden configurar los registros utilizados para pasar argumentos de hiperllamada en modo de 32 bits a valores fuera del rango en el que el c\u00f3digo de 32 bits podr\u00eda configurarlos. Cuando el procesamiento de hiperllamadas toma una cantidad considerable de tiempo, el hipervisor puede optar por invocar una continuaci\u00f3n de hiperllamada. Hacerlo implica colocar argumentos de hiperllamada (quiz\u00e1s actualizados) en los registros respectivos. Para los hu\u00e9spedes que no se ejecutan en modo de 64 bits, esto implica adem\u00e1s una cierta cantidad de traducci\u00f3n de los valores. Desafortunadamente, la comprobaci\u00f3n de cordura interna de estos valores traducidos supone que las mitades altas de los registros siempre est\u00e1n limpias al invocar una hiperllamada. Cuando se descubre que este no es el caso, se activa una comprobaci\u00f3n de coherencia en el hipervisor y se produce un bloqueo.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H\",\"baseScore\":6.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.0,\"impactScore\":4.0}]},\"weaknesses\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-843\"}]}],\"references\":[{\"url\":\"https://xenbits.xenproject.org/xsa/advisory-454.html\",\"source\":\"security@xen.org\"},{\"url\":\"https://xenbits.xenproject.org/xsa/advisory-454.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.