cve-2023-52455
Vulnerability from cvelistv5
Published
2024-02-23 14:46
Modified
2024-09-11 17:33
Severity
Summary
iommu: Don't reserve 0-length IOVA region
Impacted products
VendorProduct
LinuxLinux
LinuxLinux
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T23:03:19.635Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/98b8a550da83cc392a14298c4b3eaaf0332ae6ad"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/5e23e283910c9f30248732ae0770bcb0c9438abf"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/bb57f6705960bebeb832142ce9abf43220c3eab1"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2023-52455",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:02:39.988969Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:49.752Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/iommu/of_iommu.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "98b8a550da83",
              "status": "affected",
              "version": "a5bf3cfce8cb",
              "versionType": "git"
            },
            {
              "lessThan": "5e23e283910c",
              "status": "affected",
              "version": "a5bf3cfce8cb",
              "versionType": "git"
            },
            {
              "lessThan": "bb57f6705960",
              "status": "affected",
              "version": "a5bf3cfce8cb",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/iommu/of_iommu.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.14",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.2",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.8",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommu: Don\u0027t reserve 0-length IOVA region\n\nWhen the bootloader/firmware doesn\u0027t setup the framebuffers, their\naddress and size are 0 in \"iommu-addresses\" property. If IOVA region is\nreserved with 0 length, then it ends up corrupting the IOVA rbtree with\nan entry which has pfn_hi \u003c pfn_lo.\nIf we intend to use display driver in kernel without framebuffer then\nit\u0027s causing the display IOMMU mappings to fail as entire valid IOVA\nspace is reserved when address and length are passed as 0.\nAn ideal solution would be firmware removing the \"iommu-addresses\"\nproperty and corresponding \"memory-region\" if display is not present.\nBut the kernel should be able to handle this by checking for size of\nIOVA region and skipping the IOVA reservation if size is 0. Also, add\na warning if firmware is requesting 0-length IOVA region reservation."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-05-29T05:12:10.601Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/98b8a550da83cc392a14298c4b3eaaf0332ae6ad"
        },
        {
          "url": "https://git.kernel.org/stable/c/5e23e283910c9f30248732ae0770bcb0c9438abf"
        },
        {
          "url": "https://git.kernel.org/stable/c/bb57f6705960bebeb832142ce9abf43220c3eab1"
        }
      ],
      "title": "iommu: Don\u0027t reserve 0-length IOVA region",
      "x_generator": {
        "engine": "bippy-a5840b7849dd"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-52455",
    "datePublished": "2024-02-23T14:46:18.495Z",
    "dateReserved": "2024-02-20T12:30:33.294Z",
    "dateUpdated": "2024-09-11T17:33:49.752Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-52455\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-02-23T15:15:08.193\",\"lastModified\":\"2024-04-30T19:34:34.080\",\"vulnStatus\":\"Analyzed\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\niommu: Don\u0027t reserve 0-length IOVA region\\n\\nWhen the bootloader/firmware doesn\u0027t setup the framebuffers, their\\naddress and size are 0 in \\\"iommu-addresses\\\" property. If IOVA region is\\nreserved with 0 length, then it ends up corrupting the IOVA rbtree with\\nan entry which has pfn_hi \u003c pfn_lo.\\nIf we intend to use display driver in kernel without framebuffer then\\nit\u0027s causing the display IOMMU mappings to fail as entire valid IOVA\\nspace is reserved when address and length are passed as 0.\\nAn ideal solution would be firmware removing the \\\"iommu-addresses\\\"\\nproperty and corresponding \\\"memory-region\\\" if display is not present.\\nBut the kernel should be able to handle this by checking for size of\\nIOVA region and skipping the IOVA reservation if size is 0. Also, add\\na warning if firmware is requesting 0-length IOVA region reservation.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iommu: no reservar regi\u00f3n IOVA de longitud 0 Cuando el gestor de arranque/firmware no configura los framebuffers, su direcci\u00f3n y tama\u00f1o son 0 en la propiedad \\\"iommu-addresses\\\". Si la regi\u00f3n IOVA est\u00e1 reservada con una longitud de 0, termina corrompiendo el rbtree de IOVA con una entrada que tiene pfn_hi \u0026lt; pfn_lo. Si pretendemos utilizar el controlador de pantalla en el kernel sin framebuffer, entonces las asignaciones IOMMU de pantalla fallar\u00e1n ya que se reserva todo el espacio IOVA v\u00e1lido cuando la direcci\u00f3n y la longitud se pasan como 0. Una soluci\u00f3n ideal ser\u00eda que el firmware elimine la propiedad \\\"iommu-addresses\\\". y la \\\"regi\u00f3n de memoria\\\" correspondiente si la pantalla no est\u00e1 presente. Pero el kernel deber\u00eda poder manejar esto verificando el tama\u00f1o de la regi\u00f3n IOVA y omitiendo la reserva de IOVA si el tama\u00f1o es 0. Adem\u00e1s, agregue una advertencia si el firmware solicita una reserva de regi\u00f3n IOVA de longitud 0.\"}],\"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:H/I:H/A:H\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.3.0\",\"versionEndExcluding\":\"6.6.14\",\"matchCriteriaId\":\"723F5211-5C37-4F95-A4D3-FA6C2E6F914C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7.0\",\"versionEndExcluding\":\"6.7.2\",\"matchCriteriaId\":\"0EA3778C-730B-464C-8023-18CA6AC0B807\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/5e23e283910c9f30248732ae0770bcb0c9438abf\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/98b8a550da83cc392a14298c4b3eaaf0332ae6ad\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/bb57f6705960bebeb832142ce9abf43220c3eab1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...