{"id":"CVE-2023-52993","state":"PUBLISHED","title":"x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nx86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL\n\nBaoquan reported that after triggering a crash the subsequent crash-kernel\nfails to boot about half of the time. It triggers a NULL pointer\ndereference in the periodic tick code.\n\nThis happens because the legacy timer interrupt (IRQ0) is resent in\nsoftware which happens in soft interrupt (tasklet) context. In this context\nget_irq_regs() returns NULL which leads to the NULL pointer dereference.\n\nThe reason for the resend is a spurious APIC interrupt on the IRQ0 vector\nwhich is captured and leads to a resend when the legacy timer interrupt is\nenabled. This is wrong because the legacy PIC interrupts are level\ntriggered and therefore should never be resent in software, but nothing\never sets the IRQ_LEVEL flag on those interrupts, so the core code does not\nknow about their trigger type.\n\nEnsure that IRQ_LEVEL is set when the legacy PCI interrupts are set up.","publishedAt":"2025-03-27T16:43:28.263Z","updatedAt":"2026-05-11T19:36:32.785Z","severity":{"score":5.5,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","source":"CISA-ADP"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"744fe9be9665227335539b7a77ece8d9ff62b6c0","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"496975d1a2937f4baadf3d985991b13fc4fc4f27","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"8770cd9d7c14aa99c255a0d08186f0be953e1638","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"e284c273dbb4c1ed68d4204bff94d0b10e4a90f5","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"0b08201158f177aab469e356b4d6af24fdd118df","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"137f1b47da5f58805da42c1b7811e28c1e353f39","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"5fa55950729d0762a787451dc52862c3f850f859","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/x86/kernel/i8259.c","arch/x86/kernel/irqinit.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"4.14.305","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.272","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.231","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.166","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.91","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.9","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/x86/kernel/i8259.c","arch/x86/kernel/irqinit.c"]}],"references":["https://git.kernel.org/stable/c/744fe9be9665227335539b7a77ece8d9ff62b6c0","https://git.kernel.org/stable/c/496975d1a2937f4baadf3d985991b13fc4fc4f27","https://git.kernel.org/stable/c/8770cd9d7c14aa99c255a0d08186f0be953e1638","https://git.kernel.org/stable/c/e284c273dbb4c1ed68d4204bff94d0b10e4a90f5","https://git.kernel.org/stable/c/0b08201158f177aab469e356b4d6af24fdd118df","https://git.kernel.org/stable/c/137f1b47da5f58805da42c1b7811e28c1e353f39","https://git.kernel.org/stable/c/5fa55950729d0762a787451dc52862c3f850f859"],"weaknesses":["CWE-476"],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/52xxx/CVE-2023-52993.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-52993","state":"PUBLISHED","datePublished":"2025-03-27T16:43:28.263Z","dateUpdated":"2026-05-11T19:36:32.785Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-03-27T16:40:15.742Z"},"containers":{"cna":{"title":"x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nx86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL\n\nBaoquan reported that after triggering a crash the subsequent crash-kernel\nfails to boot about half of the time. It triggers a NULL pointer\ndereference in the periodic tick code.\n\nThis happens because the legacy timer interrupt (IRQ0) is resent in\nsoftware which happens in soft interrupt (tasklet) context. In this context\nget_irq_regs() returns NULL which leads to the NULL pointer dereference.\n\nThe reason for the resend is a spurious APIC interrupt on the IRQ0 vector\nwhich is captured and leads to a resend when the legacy timer interrupt is\nenabled. This is wrong because the legacy PIC interrupts are level\ntriggered and therefore should never be resent in software, but nothing\never sets the IRQ_LEVEL flag on those interrupts, so the core code does not\nknow about their trigger type.\n\nEnsure that IRQ_LEVEL is set when the legacy PCI interrupts are set up."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"744fe9be9665227335539b7a77ece8d9ff62b6c0","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"496975d1a2937f4baadf3d985991b13fc4fc4f27","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"8770cd9d7c14aa99c255a0d08186f0be953e1638","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"e284c273dbb4c1ed68d4204bff94d0b10e4a90f5","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"0b08201158f177aab469e356b4d6af24fdd118df","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"137f1b47da5f58805da42c1b7811e28c1e353f39","versionType":"git"},{"version":"a4633adcdbc15ac51afcd0e1395de58cee27cf92","status":"affected","lessThan":"5fa55950729d0762a787451dc52862c3f850f859","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/x86/kernel/i8259.c","arch/x86/kernel/irqinit.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"4.14.305","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.272","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.231","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.166","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.91","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.9","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/x86/kernel/i8259.c","arch/x86/kernel/irqinit.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/744fe9be9665227335539b7a77ece8d9ff62b6c0"},{"url":"https://git.kernel.org/stable/c/496975d1a2937f4baadf3d985991b13fc4fc4f27"},{"url":"https://git.kernel.org/stable/c/8770cd9d7c14aa99c255a0d08186f0be953e1638"},{"url":"https://git.kernel.org/stable/c/e284c273dbb4c1ed68d4204bff94d0b10e4a90f5"},{"url":"https://git.kernel.org/stable/c/0b08201158f177aab469e356b4d6af24fdd118df"},{"url":"https://git.kernel.org/stable/c/137f1b47da5f58805da42c1b7811e28c1e353f39"},{"url":"https://git.kernel.org/stable/c/5fa55950729d0762a787451dc52862c3f850f859"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:36:32.785Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"4.14.305"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"4.19.272"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.4.231"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.10.166"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.15.91"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.1.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":5.5,"attackVector":"LOCAL","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"NONE"}},{"other":{"type":"ssvc","content":{"id":"CVE-2023-52993","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2025-10-01T20:08:16.903596Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-476","lang":"en","type":"CWE","description":"CWE-476 NULL Pointer Dereference"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-10-01T20:17:04.047Z"}}]}}}