CVE-2026-43363 (GCVE-0-2026-43363)
Vulnerability from cvelistv5
Published
2026-05-08 14:21
Modified
2026-05-11 22:23
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: x86/apic: Disable x2apic on resume if the kernel expects so When resuming from s2ram, firmware may re-enable x2apic mode, which may have been disabled by the kernel during boot either because it doesn't support IRQ remapping or for other reasons. This causes the kernel to continue using the xapic interface, while the hardware is in x2apic mode, which causes hangs. This happens on defconfig + bare metal + s2ram. Fix this in lapic_resume() by disabling x2apic if the kernel expects it to be disabled, i.e. when x2apic_mode = 0. The ACPI v6.6 spec, Section 16.3 [1] says firmware restores either the pre-sleep configuration or initial boot configuration for each CPU, including MSR state: When executing from the power-on reset vector as a result of waking from an S2 or S3 sleep state, the platform firmware performs only the hardware initialization required to restore the system to either the state the platform was in prior to the initial operating system boot, or to the pre-sleep configuration state. In multiprocessor systems, non-boot processors should be placed in the same state as prior to the initial operating system boot. (further ahead) If this is an S2 or S3 wake, then the platform runtime firmware restores minimum context of the system before jumping to the waking vector. This includes: CPU configuration. Platform runtime firmware restores the pre-sleep configuration or initial boot configuration of each CPU (MSR, MTRR, firmware update, SMBase, and so on). Interrupts must be disabled (for IA-32 processors, disabled by CLI instruction). (and other things) So at least as per the spec, re-enablement of x2apic by the firmware is allowed if "x2apic on" is a part of the initial boot configuration. [1] https://uefi.org/specs/ACPI/6.6/16_Waking_and_Sleeping.html#initialization [ bp: Massage. ]
Impacted products
Vendor Product Version
Linux Linux Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Version: 6e1cb38a2aef7680975e71f23de187859ee8b158
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kernel/apic/apic.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a6ad6f2e31b524cbb66b2f370bad0cf17d327e6c",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            },
            {
              "lessThan": "3dd0812a7c764cd8f3b0182441ac22da0a7f3b09",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            },
            {
              "lessThan": "965289b120cc68cca886c75219c68b8c15751d73",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            },
            {
              "lessThan": "f591938072115bf08730b8530c67fab189cc6308",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            },
            {
              "lessThan": "1a85f84214f9d790216547ac6086bf8033cd9e5a",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            },
            {
              "lessThan": "11712c4eb384098db4cb08792e223c818b908c1a",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            },
            {
              "lessThan": "1d8440c1e7c49715f937416ac90cf260f1f1712c",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            },
            {
              "lessThan": "8cc7dd77a1466f0ec58c03478b2e735a5b289b96",
              "status": "affected",
              "version": "6e1cb38a2aef7680975e71f23de187859ee8b158",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/kernel/apic/apic.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.28"
            },
            {
              "lessThan": "2.6.28",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.253",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.203",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.167",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.130",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.78",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.19",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.253",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.203",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.167",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.130",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.78",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.19",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.9",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "2.6.28",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/apic: Disable x2apic on resume if the kernel expects so\n\nWhen resuming from s2ram, firmware may re-enable x2apic mode, which may have\nbeen disabled by the kernel during boot either because it doesn\u0027t support IRQ\nremapping or for other reasons. This causes the kernel to continue using the\nxapic interface, while the hardware is in x2apic mode, which causes hangs.\nThis happens on defconfig + bare metal + s2ram.\n\nFix this in lapic_resume() by disabling x2apic if the kernel expects it to be\ndisabled, i.e. when x2apic_mode = 0.\n\nThe ACPI v6.6 spec, Section 16.3 [1] says firmware restores either the\npre-sleep configuration or initial boot configuration for each CPU, including\nMSR state:\n\n  When executing from the power-on reset vector as a result of waking from an\n  S2 or S3 sleep state, the platform firmware performs only the hardware\n  initialization required to restore the system to either the state the\n  platform was in prior to the initial operating system boot, or to the\n  pre-sleep configuration state. In multiprocessor systems, non-boot\n  processors should be placed in the same state as prior to the initial\n  operating system boot.\n\n  (further ahead)\n\n  If this is an S2 or S3 wake, then the platform runtime firmware restores\n  minimum context of the system before jumping to the waking vector. This\n  includes:\n\n\tCPU configuration. Platform runtime firmware restores the pre-sleep\n\tconfiguration or initial boot configuration of each CPU (MSR, MTRR,\n\tfirmware update, SMBase, and so on). Interrupts must be disabled (for\n\tIA-32 processors, disabled by CLI instruction).\n\n\t(and other things)\n\nSo at least as per the spec, re-enablement of x2apic by the firmware is\nallowed if \"x2apic on\" is a part of the initial boot configuration.\n\n  [1] https://uefi.org/specs/ACPI/6.6/16_Waking_and_Sleeping.html#initialization\n\n  [ bp: Massage. ]"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T22:23:08.290Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a6ad6f2e31b524cbb66b2f370bad0cf17d327e6c"
        },
        {
          "url": "https://git.kernel.org/stable/c/3dd0812a7c764cd8f3b0182441ac22da0a7f3b09"
        },
        {
          "url": "https://git.kernel.org/stable/c/965289b120cc68cca886c75219c68b8c15751d73"
        },
        {
          "url": "https://git.kernel.org/stable/c/f591938072115bf08730b8530c67fab189cc6308"
        },
        {
          "url": "https://git.kernel.org/stable/c/1a85f84214f9d790216547ac6086bf8033cd9e5a"
        },
        {
          "url": "https://git.kernel.org/stable/c/11712c4eb384098db4cb08792e223c818b908c1a"
        },
        {
          "url": "https://git.kernel.org/stable/c/1d8440c1e7c49715f937416ac90cf260f1f1712c"
        },
        {
          "url": "https://git.kernel.org/stable/c/8cc7dd77a1466f0ec58c03478b2e735a5b289b96"
        }
      ],
      "title": "x86/apic: Disable x2apic on resume if the kernel expects so",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-43363",
    "datePublished": "2026-05-08T14:21:16.986Z",
    "dateReserved": "2026-05-01T14:12:56.005Z",
    "dateUpdated": "2026-05-11T22:23:08.290Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


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.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • 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.


Loading…

Loading…