cve-2022-48769
Vulnerability from cvelistv5
Published
2024-06-20 11:13
Modified
2024-12-19 08:07
Severity ?
Summary
efi: runtime: avoid EFIv2 runtime services on Apple x86 machines
Impacted products
LinuxLinux
LinuxLinux
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-03T15:25:01.538Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/b0f1cc093bc2493ac259c53766fd2b800e085807"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/3df52448978802ae15dcebf66beba1029df957b4"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a4085859411c825c321c9b55b8a9dc5a128a6684"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/f5390cd0b43c2e54c7cf5506c7da4a37c5cef746"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-48769",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T17:10:03.596823Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:46.991Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/firmware/efi/efi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b0f1cc093bc2493ac259c53766fd2b800e085807",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "3df52448978802ae15dcebf66beba1029df957b4",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "a4085859411c825c321c9b55b8a9dc5a128a6684",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "f5390cd0b43c2e54c7cf5506c7da4a37c5cef746",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/firmware/efi/efi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.96",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.19",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.16.*",
              "status": "unaffected",
              "version": "5.16.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.17",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nefi: runtime: avoid EFIv2 runtime services on Apple x86 machines\n\nAditya reports [0] that his recent MacbookPro crashes in the firmware\nwhen using the variable services at runtime. The culprit appears to be a\ncall to QueryVariableInfo(), which we did not use to call on Apple x86\nmachines in the past as they only upgraded from EFI v1.10 to EFI v2.40\nfirmware fairly recently, and QueryVariableInfo() (along with\nUpdateCapsule() et al) was added in EFI v2.00.\n\nThe only runtime service introduced in EFI v2.00 that we actually use in\nLinux is QueryVariableInfo(), as the capsule based ones are optional,\ngenerally not used at runtime (all the LVFS/fwupd firmware update\ninfrastructure uses helper EFI programs that invoke capsule update at\nboot time, not runtime), and not implemented by Apple machines in the\nfirst place. QueryVariableInfo() is used to \u0027safely\u0027 set variables,\ni.e., only when there is enough space. This prevents machines with buggy\nfirmwares from corrupting their NVRAMs when they run out of space.\n\nGiven that Apple machines have been using EFI v1.10 services only for\nthe longest time (the EFI v2.0 spec was released in 2006, and Linux\nsupport for the newly introduced runtime services was added in 2011, but\nthe MacbookPro12,1 released in 2015 still claims to be EFI v1.10 only),\nlet\u0027s avoid the EFI v2.0 ones on all Apple x86 machines.\n\n[0] https://lore.kernel.org/all/6D757C75-65B1-468B-842D-10410081A8E4@live.com/"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T08:07:22.847Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b0f1cc093bc2493ac259c53766fd2b800e085807"
        },
        {
          "url": "https://git.kernel.org/stable/c/3df52448978802ae15dcebf66beba1029df957b4"
        },
        {
          "url": "https://git.kernel.org/stable/c/a4085859411c825c321c9b55b8a9dc5a128a6684"
        },
        {
          "url": "https://git.kernel.org/stable/c/f5390cd0b43c2e54c7cf5506c7da4a37c5cef746"
        }
      ],
      "title": "efi: runtime: avoid EFIv2 runtime services on Apple x86 machines",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-48769",
    "datePublished": "2024-06-20T11:13:44.469Z",
    "dateReserved": "2024-06-20T11:09:39.061Z",
    "dateUpdated": "2024-12-19T08:07:22.847Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-48769\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-06-20T12:15:14.870\",\"lastModified\":\"2024-06-20T12:43:25.663\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nefi: runtime: avoid EFIv2 runtime services on Apple x86 machines\\n\\nAditya reports [0] that his recent MacbookPro crashes in the firmware\\nwhen using the variable services at runtime. The culprit appears to be a\\ncall to QueryVariableInfo(), which we did not use to call on Apple x86\\nmachines in the past as they only upgraded from EFI v1.10 to EFI v2.40\\nfirmware fairly recently, and QueryVariableInfo() (along with\\nUpdateCapsule() et al) was added in EFI v2.00.\\n\\nThe only runtime service introduced in EFI v2.00 that we actually use in\\nLinux is QueryVariableInfo(), as the capsule based ones are optional,\\ngenerally not used at runtime (all the LVFS/fwupd firmware update\\ninfrastructure uses helper EFI programs that invoke capsule update at\\nboot time, not runtime), and not implemented by Apple machines in the\\nfirst place. QueryVariableInfo() is used to \u0027safely\u0027 set variables,\\ni.e., only when there is enough space. This prevents machines with buggy\\nfirmwares from corrupting their NVRAMs when they run out of space.\\n\\nGiven that Apple machines have been using EFI v1.10 services only for\\nthe longest time (the EFI v2.0 spec was released in 2006, and Linux\\nsupport for the newly introduced runtime services was added in 2011, but\\nthe MacbookPro12,1 released in 2015 still claims to be EFI v1.10 only),\\nlet\u0027s avoid the EFI v2.0 ones on all Apple x86 machines.\\n\\n[0] https://lore.kernel.org/all/6D757C75-65B1-468B-842D-10410081A8E4@live.com/\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: efi: runtime: evite los servicios de tiempo de ejecuci\u00f3n EFIv2 en m\u00e1quinas Apple x86 Aditya informa [0] que su reciente MacbookPro falla en el firmware cuando usa los servicios variables en tiempo de ejecuci\u00f3n. El culpable parece ser una llamada a QueryVariableInfo(), que no utilizamos para llamar a m\u00e1quinas Apple x86 en el pasado, ya que recientemente se actualizaron del firmware EFI v1.10 al firmware EFI v2.40, y QueryVariableInfo() (junto con con UpdateCapsule() et al) se agreg\u00f3 en EFI v2.00. El \u00fanico servicio de tiempo de ejecuci\u00f3n introducido en EFI v2.00 que realmente usamos en Linux es QueryVariableInfo(), ya que los basados en c\u00e1psulas son opcionales y generalmente no se usan en tiempo de ejecuci\u00f3n (toda la infraestructura de actualizaci\u00f3n de firmware LVFS/fwupd utiliza programas EFI auxiliares que invocan la c\u00e1psula). actualizar en el momento del arranque, no en el tiempo de ejecuci\u00f3n) y, en primer lugar, no lo implementan las m\u00e1quinas Apple. QueryVariableInfo() se utiliza para establecer variables de forma \\\"segura\\\", es decir, s\u00f3lo cuando hay suficiente espacio. Esto evita que las m\u00e1quinas con firmwares defectuosos da\u00f1en sus NVRAM cuando se quedan sin espacio. Dado que las m\u00e1quinas Apple han estado usando los servicios EFI v1.10 solo durante m\u00e1s tiempo (la especificaci\u00f3n EFI v2.0 se lanz\u00f3 en 2006 y el soporte de Linux para los servicios de ejecuci\u00f3n recientemente introducidos se agreg\u00f3 en 2011, pero el MacbookPro12,1 se lanz\u00f3 en 2015 todav\u00eda afirma ser solo EFI v1.10), evitemos los EFI v2.0 en todas las m\u00e1quinas Apple x86. [0] https://lore.kernel.org/all/6D757C75-65B1-468B-842D-10410081A8E4@live.com/\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3df52448978802ae15dcebf66beba1029df957b4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a4085859411c825c321c9b55b8a9dc5a128a6684\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b0f1cc093bc2493ac259c53766fd2b800e085807\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f5390cd0b43c2e54c7cf5506c7da4a37c5cef746\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...

Loading...
  • 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.