x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL (Linux Linux)

CVE-2023-52993
MEDIUM 5.5

At a glance

Source
NVD
EPSS
EPSS 0.27 % · percentile 19 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

In the Linux kernel, the following vulnerability has been resolved: x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL Baoquan reported that after triggering a crash the subsequent crash-kernel fails to boot about half of the time. It triggers a NULL pointer dereference in the periodic tick code. This happens because the legacy timer interrupt (IRQ0) is resent in software which happens in soft interrupt (tasklet) context. In this context get_irq_regs() returns NULL which leads to the NULL pointer dereference. The reason for the resend is a spurious APIC interrupt on the IRQ0 vector which is captured and leads to a resend when the legacy timer interrupt is enabled. This is wrong because the legacy PIC interrupts are level triggered and therefore should never be resent in software, but nothing ever sets the IRQ_LEVEL flag on those interrupts, so the core code does not know about their trigger type. Ensure that IRQ_LEVEL is set when the legacy PCI interrupts are set up.

Weaknesses (CWE)

  • CWE-476 — NULL Pointer Dereference

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected a4633adcdbc15ac51afcd0e1395de58cee27cf92 < 744fe9be9665227335539b7a77ece8d9ff62b6c0 ; affected a4633adcdbc15ac51afcd0e1395de58cee27cf92 < 496975d1a2937f4baadf3d985991b13fc4fc4f27 ; affected a4633adcdbc15ac51afcd0e1395de58cee27cf92 < 8770cd9d7c14aa99c255a0d08186f0be953e1638 ; affected a4633adcdbc15ac51afcd0e1395de58cee27cf92 < e284c273dbb4c1ed68d4204bff94d0b10e4a90f5 ; affected a4633adcdbc15ac51afcd0e1395de58cee27cf92 < 0b08201158f177aab469e356b4d6af24fdd118df ; affected a4633adcdbc15ac51afcd0e1395de58cee27cf92 < 137f1b47da5f58805da42c1b7811e28c1e353f39
Linux · Linuxaffected 2.6.18 ; unaffected 0 < 2.6.18 ; unaffected 4.14.305 ≤ 4.14.* ; unaffected 4.19.272 ≤ 4.19.* ; unaffected 5.4.231 ≤ 5.4.* ; unaffected 5.10.166 ≤ 5.10.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD