Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-58090— sched/core: Prevent rescheduling when interrupts are disabled

EPSS 0.02% · P5
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-58090

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
sched/core: Prevent rescheduling when interrupts are disabled
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: sched/core: Prevent rescheduling when interrupts are disabled David reported a warning observed while loop testing kexec jump: Interrupts enabled after irqrouter_resume+0x0/0x50 WARNING: CPU: 0 PID: 560 at drivers/base/syscore.c:103 syscore_resume+0x18a/0x220 kernel_kexec+0xf6/0x180 __do_sys_reboot+0x206/0x250 do_syscall_64+0x95/0x180 The corresponding interrupt flag trace: hardirqs last enabled at (15573): [<ffffffffa8281b8e>] __up_console_sem+0x7e/0x90 hardirqs last disabled at (15580): [<ffffffffa8281b73>] __up_console_sem+0x63/0x90 That means __up_console_sem() was invoked with interrupts enabled. Further instrumentation revealed that in the interrupt disabled section of kexec jump one of the syscore_suspend() callbacks woke up a task, which set the NEED_RESCHED flag. A later callback in the resume path invoked cond_resched() which in turn led to the invocation of the scheduler: __cond_resched+0x21/0x60 down_timeout+0x18/0x60 acpi_os_wait_semaphore+0x4c/0x80 acpi_ut_acquire_mutex+0x3d/0x100 acpi_ns_get_node+0x27/0x60 acpi_ns_evaluate+0x1cb/0x2d0 acpi_rs_set_srs_method_data+0x156/0x190 acpi_pci_link_set+0x11c/0x290 irqrouter_resume+0x54/0x60 syscore_resume+0x6a/0x200 kernel_kexec+0x145/0x1c0 __do_sys_reboot+0xeb/0x240 do_syscall_64+0x95/0x180 This is a long standing problem, which probably got more visible with the recent printk changes. Something does a task wakeup and the scheduler sets the NEED_RESCHED flag. cond_resched() sees it set and invokes schedule() from a completely bogus context. The scheduler enables interrupts after context switching, which causes the above warning at the end. Quite some of the code paths in syscore_suspend()/resume() can result in triggering a wakeup with the exactly same consequences. They might not have done so yet, but as they share a lot of code with normal operations it's just a question of time. The problem only affects the PREEMPT_NONE and PREEMPT_VOLUNTARY scheduling models. Full preemption is not affected as cond_resched() is disabled and the preemption check preemptible() takes the interrupt disabled flag into account. Cure the problem by adding a corresponding check into cond_resched().
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于中断禁用时可能重新调度。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ~ 321794b75ac968f0bb6b9c913581949452a8d992 -
LinuxLinux 2.6.12 -

II. Public POCs for CVE-2024-58090

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-58090

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-03-27 · 124 CVEs total

CVE-2023-52982fscache: Use wait_on_bit() to wait for the freeing of relinquished volume
CVE-2023-52998net: fec: Use page_pool_put_full_page when freeing rx buffers
CVE-2023-52999net: fix UaF in netns ops registration error path
CVE-2023-52997ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
CVE-2023-52996ipv4: prevent potential spectre v1 gadget in fib_metrics_match()
CVE-2023-52995riscv/kprobe: Fix instruction simulation of JALR
CVE-2023-52994acpi: Fix suspend with Xen PV
CVE-2023-52993x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
CVE-2023-52992bpf: Skip task with pid=1 in send_signal_common()
CVE-2023-52991net: fix NULL pointer in skb_segment_list
CVE-2023-52989firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region
CVE-2023-52988ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
CVE-2023-52987ASoC: SOF: ipc4-mtrace: prevent underflow in sof_ipc4_priority_mask_dfs_write()
CVE-2023-52986bpf, sockmap: Check for any of tcp_bpf_prots when cloning a listener
CVE-2023-52985arm64: dts: imx8mm-verdin: Do not power down eth-phy
CVE-2023-52984net: phy: dp83822: Fix null pointer access on DP83825/DP83826 devices
CVE-2023-52973vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
CVE-2022-49761btrfs: always report error in run_one_delayed_ref()
CVE-2022-49760mm/hugetlb: fix PTE marker handling in hugetlb_change_protection()
CVE-2023-52974scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress

Showing top 20 of 124 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-58090

No comments yet


Leave a comment