cve-2024-49856
Vulnerability from cvelistv5
Published
2024-10-21 12:18
Modified
2024-12-19 09:27
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: x86/sgx: Fix deadlock in SGX NUMA node search When the current node doesn't have an EPC section configured by firmware and all other EPC sections are used up, CPU can get stuck inside the while loop that looks for an available EPC page from remote nodes indefinitely, leading to a soft lockup. Note how nid_of_current will never be equal to nid in that while loop because nid_of_current is not set in sgx_numa_mask. Also worth mentioning is that it's perfectly fine for the firmware not to setup an EPC section on a node. While setting up an EPC section on each node can enhance performance, it is not a requirement for functionality. Rework the loop to start and end on *a* node that has SGX memory. This avoids the deadlock looking for the current SGX-lacking node to show up in the loop when it never will.
Impacted products
Vendor Product Version
Linux Linux Version: 901ddbb9ecf5425183ea0c09d10c2fd7868dce54
Version: 901ddbb9ecf5425183ea0c09d10c2fd7868dce54
Version: 901ddbb9ecf5425183ea0c09d10c2fd7868dce54
Version: 901ddbb9ecf5425183ea0c09d10c2fd7868dce54
Version: 901ddbb9ecf5425183ea0c09d10c2fd7868dce54
Version: 901ddbb9ecf5425183ea0c09d10c2fd7868dce54
Create a notification for this product.
   Linux Linux Version: 5.13
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-49856",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-10-21T12:56:17.015207Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-10-21T13:04:11.066Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kernel/cpu/sgx/main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "40fb64257dab507d86b5f1f2a62f3669ef0c91a8",
              "status": "affected",
              "version": "901ddbb9ecf5425183ea0c09d10c2fd7868dce54",
              "versionType": "git"
            },
            {
              "lessThan": "20c96d0aaabfe361fc2a11c173968dc67feadbbf",
              "status": "affected",
              "version": "901ddbb9ecf5425183ea0c09d10c2fd7868dce54",
              "versionType": "git"
            },
            {
              "lessThan": "fb2d057539eda67ec7cfc369bf587e6518a9b99d",
              "status": "affected",
              "version": "901ddbb9ecf5425183ea0c09d10c2fd7868dce54",
              "versionType": "git"
            },
            {
              "lessThan": "0f89fb4042c08fd143bfc28af08bf6c8a0197eea",
              "status": "affected",
              "version": "901ddbb9ecf5425183ea0c09d10c2fd7868dce54",
              "versionType": "git"
            },
            {
              "lessThan": "8132510c915815e6b537ab937d94ed66893bc7b8",
              "status": "affected",
              "version": "901ddbb9ecf5425183ea0c09d10c2fd7868dce54",
              "versionType": "git"
            },
            {
              "lessThan": "9c936844010466535bd46ea4ce4656ef17653644",
              "status": "affected",
              "version": "901ddbb9ecf5425183ea0c09d10c2fd7868dce54",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kernel/cpu/sgx/main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.13"
            },
            {
              "lessThan": "5.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.168",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.113",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.54",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.10.*",
              "status": "unaffected",
              "version": "6.10.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.12",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/sgx: Fix deadlock in SGX NUMA node search\n\nWhen the current node doesn\u0027t have an EPC section configured by firmware\nand all other EPC sections are used up, CPU can get stuck inside the\nwhile loop that looks for an available EPC page from remote nodes\nindefinitely, leading to a soft lockup. Note how nid_of_current will\nnever be equal to nid in that while loop because nid_of_current is not\nset in sgx_numa_mask.\n\nAlso worth mentioning is that it\u0027s perfectly fine for the firmware not\nto setup an EPC section on a node. While setting up an EPC section on\neach node can enhance performance, it is not a requirement for\nfunctionality.\n\nRework the loop to start and end on *a* node that has SGX memory. This\navoids the deadlock looking for the current SGX-lacking node to show up\nin the loop when it never will."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T09:27:39.313Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/40fb64257dab507d86b5f1f2a62f3669ef0c91a8"
        },
        {
          "url": "https://git.kernel.org/stable/c/20c96d0aaabfe361fc2a11c173968dc67feadbbf"
        },
        {
          "url": "https://git.kernel.org/stable/c/fb2d057539eda67ec7cfc369bf587e6518a9b99d"
        },
        {
          "url": "https://git.kernel.org/stable/c/0f89fb4042c08fd143bfc28af08bf6c8a0197eea"
        },
        {
          "url": "https://git.kernel.org/stable/c/8132510c915815e6b537ab937d94ed66893bc7b8"
        },
        {
          "url": "https://git.kernel.org/stable/c/9c936844010466535bd46ea4ce4656ef17653644"
        }
      ],
      "title": "x86/sgx: Fix deadlock in SGX NUMA node search",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-49856",
    "datePublished": "2024-10-21T12:18:48.123Z",
    "dateReserved": "2024-10-21T12:17:06.016Z",
    "dateUpdated": "2024-12-19T09:27:39.313Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-49856\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-10-21T13:15:06.353\",\"lastModified\":\"2024-10-23T16:33:20.857\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nx86/sgx: Fix deadlock in SGX NUMA node search\\n\\nWhen the current node doesn\u0027t have an EPC section configured by firmware\\nand all other EPC sections are used up, CPU can get stuck inside the\\nwhile loop that looks for an available EPC page from remote nodes\\nindefinitely, leading to a soft lockup. Note how nid_of_current will\\nnever be equal to nid in that while loop because nid_of_current is not\\nset in sgx_numa_mask.\\n\\nAlso worth mentioning is that it\u0027s perfectly fine for the firmware not\\nto setup an EPC section on a node. While setting up an EPC section on\\neach node can enhance performance, it is not a requirement for\\nfunctionality.\\n\\nRework the loop to start and end on *a* node that has SGX memory. This\\navoids the deadlock looking for the current SGX-lacking node to show up\\nin the loop when it never will.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: x86/sgx: Se solucion\u00f3 el bloqueo en la b\u00fasqueda de nodos NUMA de SGX Cuando el nodo actual no tiene una secci\u00f3n EPC configurada por el firmware y todas las dem\u00e1s secciones EPC est\u00e1n agotadas, la CPU puede quedar atrapada dentro del bucle while que busca una p\u00e1gina EPC disponible de los nodos remotos de forma indefinida, lo que lleva a un bloqueo suave. Tenga en cuenta que nid_of_current nunca ser\u00e1 igual a nid en ese bucle while porque nid_of_current no est\u00e1 configurado en sgx_numa_mask. Tambi\u00e9n vale la pena mencionar que est\u00e1 perfectamente bien que el firmware no configure una secci\u00f3n EPC en un nodo. Si bien configurar una secci\u00f3n EPC en cada nodo puede mejorar el rendimiento, no es un requisito para la funcionalidad. Rehaga el bucle para que comience y termine en *un* nodo que tenga memoria SGX. Esto evita el bloqueo que busca el nodo actual que carece de SGX para que aparezca en el bucle cuando nunca lo har\u00e1.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-835\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.13\",\"versionEndExcluding\":\"5.15.168\",\"matchCriteriaId\":\"71269D77-D25F-4909-8E7A-405593B279FE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.113\",\"matchCriteriaId\":\"D01BD22E-ACD1-4618-9D01-6116570BE1EE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.54\",\"matchCriteriaId\":\"D448821D-C085-4CAF-88FA-2DDE7BE21976\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.10.13\",\"matchCriteriaId\":\"CE94BB8D-B0AB-4563-9ED7-A12122B56EBE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.11\",\"versionEndExcluding\":\"6.11.2\",\"matchCriteriaId\":\"AB755D26-97F4-43B6-8604-CD076811E181\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0f89fb4042c08fd143bfc28af08bf6c8a0197eea\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/20c96d0aaabfe361fc2a11c173968dc67feadbbf\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/40fb64257dab507d86b5f1f2a62f3669ef0c91a8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/8132510c915815e6b537ab937d94ed66893bc7b8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/9c936844010466535bd46ea4ce4656ef17653644\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/fb2d057539eda67ec7cfc369bf587e6518a9b99d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-49856\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-10-21T12:56:17.015207Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-10-21T12:56:20.359Z\"}}], \"cna\": {\"title\": \"x86/sgx: Fix deadlock in SGX NUMA node search\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"901ddbb9ecf5425183ea0c09d10c2fd7868dce54\", \"lessThan\": \"40fb64257dab507d86b5f1f2a62f3669ef0c91a8\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"901ddbb9ecf5425183ea0c09d10c2fd7868dce54\", \"lessThan\": \"20c96d0aaabfe361fc2a11c173968dc67feadbbf\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"901ddbb9ecf5425183ea0c09d10c2fd7868dce54\", \"lessThan\": \"fb2d057539eda67ec7cfc369bf587e6518a9b99d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"901ddbb9ecf5425183ea0c09d10c2fd7868dce54\", \"lessThan\": \"0f89fb4042c08fd143bfc28af08bf6c8a0197eea\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"901ddbb9ecf5425183ea0c09d10c2fd7868dce54\", \"lessThan\": \"8132510c915815e6b537ab937d94ed66893bc7b8\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"901ddbb9ecf5425183ea0c09d10c2fd7868dce54\", \"lessThan\": \"9c936844010466535bd46ea4ce4656ef17653644\", \"versionType\": \"git\"}], \"programFiles\": [\"arch/x86/kernel/cpu/sgx/main.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.13\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.13\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.168\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.113\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.54\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10.13\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.10.*\"}, {\"status\": \"unaffected\", \"version\": \"6.11.2\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.11.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"arch/x86/kernel/cpu/sgx/main.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/40fb64257dab507d86b5f1f2a62f3669ef0c91a8\"}, {\"url\": \"https://git.kernel.org/stable/c/20c96d0aaabfe361fc2a11c173968dc67feadbbf\"}, {\"url\": \"https://git.kernel.org/stable/c/fb2d057539eda67ec7cfc369bf587e6518a9b99d\"}, {\"url\": \"https://git.kernel.org/stable/c/0f89fb4042c08fd143bfc28af08bf6c8a0197eea\"}, {\"url\": \"https://git.kernel.org/stable/c/8132510c915815e6b537ab937d94ed66893bc7b8\"}, {\"url\": \"https://git.kernel.org/stable/c/9c936844010466535bd46ea4ce4656ef17653644\"}], \"x_generator\": {\"engine\": \"bippy-5f407fcff5a0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nx86/sgx: Fix deadlock in SGX NUMA node search\\n\\nWhen the current node doesn\u0027t have an EPC section configured by firmware\\nand all other EPC sections are used up, CPU can get stuck inside the\\nwhile loop that looks for an available EPC page from remote nodes\\nindefinitely, leading to a soft lockup. Note how nid_of_current will\\nnever be equal to nid in that while loop because nid_of_current is not\\nset in sgx_numa_mask.\\n\\nAlso worth mentioning is that it\u0027s perfectly fine for the firmware not\\nto setup an EPC section on a node. While setting up an EPC section on\\neach node can enhance performance, it is not a requirement for\\nfunctionality.\\n\\nRework the loop to start and end on *a* node that has SGX memory. This\\navoids the deadlock looking for the current SGX-lacking node to show up\\nin the loop when it never will.\"}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2024-12-19T09:27:39.313Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-49856\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-12-19T09:27:39.313Z\", \"dateReserved\": \"2024-10-21T12:17:06.016Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-10-21T12:18:48.123Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


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.