CVE-2024-26999: serial/pmac_zilog: Remove flawed mitigation for rx irq flood
In the Linux kernel, the following vulnerability has been resolved:
serial/pmac_zilog: Remove flawed mitigation for rx irq flood
The mitigation was intended to stop the irq completely. That may be
better than a hard lock-up but it turns out that you get a crash anyway
if you're using pmac_zilog as a serial console:
ttyPZ0: pmz: rx irq flood !
BUG: spinlock recursion on CPU#0, swapper/0
That's because the pr_err() call in pmz_receive_chars() results in
pmz_console_write() attempting to lock a spinlock already locked in
pmz_interrupt(). With CONFIG_DEBUG_SPINLOCK=y, this produces a fatal
BUG splat. The spinlock in question is the one in struct uart_port.
Even when it's not fatal, the serial port rx function ceases to work.
Also, the iteration limit doesn't play nicely with QEMU, as can be
seen in the bug report linked below.
A web search for other reports of the error message "pmz: rx irq flood"
didn't produce anything. So I don't think this code is needed any more.
Remove it.
Security readout for executives and security teams
Plain-English summary
CVE-2024-26999 is a Linux kernel reliability flaw in the pmac_zilog serial driver. A mitigation for receive-interrupt flooding can itself cause a crash when pmac_zilog is used as the serial console. This mainly threatens availability on systems that use this older, hardware-specific driver.
Executive priority
Handle through normal kernel patch management unless the organization depends on affected PowerMac/Zilog serial console paths. For most environments, urgency is low because exposure is narrow and no active exploitation is cited.
Technical view
The vulnerable code logs an rx interrupt flood from pmz_receive_chars(). That can recurse into pmz_console_write() while pmz_interrupt() already holds the uart_port spinlock. With CONFIG_DEBUG_SPINLOCK, this triggers a fatal spinlock recursion BUG; without it, receive handling may stop working.
Likely exposure
Exposure appears limited to Linux systems using the pmac_zilog serial driver, especially where it is configured as a serial console. The CVE data lists Linux kernel versions across older and supported stable branches as affected, with stable kernel commits and Debian/Fedora advisories referenced for fixes.
Exploitation context
The source bundle does not show active exploitation, KEV listing, public exploit code, or broad real-world reports. The kernel note says a web search found no other reports of the pmz rx irq flood message. Treat this as a niche availability issue unless local hardware and console configuration make it operationally important.
Researcher notes
The key condition is the interaction between pmz_receive_chars(), pr_err(), pmz_console_write(), and uart_port locking during interrupt handling. The fix removes the flawed rx irq flood mitigation rather than adding a new runtime guard. Evidence is strongest for availability impact, not privilege escalation or data compromise.
Mitigation direction
Update to a fixed kernel from Linux stable or your distribution vendor.
Prioritize Debian and Fedora hosts covered by their published kernel advisories.
Identify systems using pmac_zilog before treating this as fleet-wide exposure.
Avoid relying on pmac_zilog as a serial console until patched, where operationally feasible.
If no vendor patch is available, follow vendor guidance for supported workarounds.
Validation and detection
Inventory running kernel versions against the CVE affected version data.
Check whether pmac_zilog is built, loaded, or used for serial console access.
Review boot and console configuration for ttyPZ or pmz-related usage.
Confirm the relevant Linux stable fix is included in deployed kernel packages.
Monitor kernel logs for pmz rx irq flood or spinlock recursion messages.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-26999 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.