CVE-2024-50196
Last modified
CVE-2024-50196 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: pinctrl: ocelot: fix system hang on level based interrupts The current implementation only calls chained_irq_enter() and chained_irq_exit() if it detects pending interrupts. ``` for (i = 0; i < info->stride; i++) { uregmap_read(info->map, id_reg + 4 * i, ®); if (!reg) continue; chained_irq_enter(parent_chip, desc); ``` However, in case of GPIO pin configured in level mode and the parent controller configured in edge mode, GPIO interrupt might be lowered by the hardware. In the result, if the interrupt is short enough, the parent interrupt is still pending while the GPIO interrupt is cleared; chained_irq_enter() never gets called and the system hangs trying to service the parent interrupt. Moving chained_irq_enter() and chained_irq_exit() outside the for loop ensures that they are called even when GPIO interrupt is lowered by the hardware. The similar code with chained_irq_enter() / chained_irq_exit() functions wrapping interrupt checking loop may be found in many other drivers: ``` grep -r -A 10 chained_irq_enter drivers/pinctrl ```. EPSS estimates a 0.21% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: pinctrl: ocelot: fix system hang on level based interrupts The current implementation only calls chained_irq_enter() and chained_irq_exit() if it detects pending interrupts. ``` for (i = 0; i < info->stride; i++) { uregmap_read(info->map, id_reg + 4 * i, ®); if (!reg) continue; chained_irq_enter(parent_chip, desc); ``` However, in case of GPIO pin configured in level mode and the parent controller configured in edge mode, GPIO interrupt might be lowered by the hardware. In the result, if the interrupt is short enough, the parent interrupt is still pending while the GPIO interrupt is cleared; chained_irq_enter() never gets called and the system hangs trying to service the parent interrupt. Moving chained_irq_enter() and chained_irq_exit() outside the for loop ensures that they are called even when GPIO interrupt is lowered by the hardware. The similar code with chained_irq_enter() / chained_irq_exit() functions wrapping interrupt checking loop may be found in many other drivers: ``` grep -r -A 10 chained_irq_enter drivers/pinctrl ```
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Linux | Linux Kernel | < 5.15.169 | — |
| Linux | Linux Kernel | >= 5.16, < 6.1.114 | — |
| Linux | Linux Kernel | >= 6.2, < 6.6.58 | — |
| Linux | Linux Kernel | >= 6.7, < 6.11.5 | — |
| Linux | Linux Kernel | 6.12 | Rc1 |
References
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2024-50196?
How severe is CVE-2024-50196?
How do I fix CVE-2024-50196?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2024
- CVE-2024-50190In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-50191In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-50192In the Linux kernel, the following vulnerability has been re…4.7
- CVE-2024-50193In the Linux kernel, the following vulnerability has been re…7.1
- CVE-2024-50194In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-50195In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-50197In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-50198In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-50199In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-5020Multiple plugins for WordPress are vulnerable to Stored Cros…6.4
- CVE-2024-50200In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-50201In the Linux kernel, the following vulnerability has been re…5.5
Are you affected by CVE-2024-50196?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
