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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-50100— USB: gadget: dummy-hcd: Fix "task hung" problem

EPSS 0.02% · P5

Affected Version Matrix 8

VendorProductVersion RangeStatus
LinuxLinux8ffba8d917f44a8acbfccbdec331204353ac8ac8< cf7ee2291da551fc4b109fda1f6a332cb8212065affected
4a4cb56556124027f4846ff30849c0ede981aa92< 7d85884576a3be3616c260fc1fa862a59579d1abaffected
a7f3813e589fd8e2834720829a47b5eb914a9afe< f828205ee3e4ddc712a13fba6c9902d51e91ddafaffected
a7f3813e589fd8e2834720829a47b5eb914a9afe< 5189df7b8088268012882c220d6aca4e64981348affected
6.10affected
< 6.10unaffected
6.11.5≤ 6.11.*unaffected
6.12≤ *unaffected
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-50100

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
USB: gadget: dummy-hcd: Fix "task hung" problem
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: USB: gadget: dummy-hcd: Fix "task hung" problem The syzbot fuzzer has been encountering "task hung" problems ever since the dummy-hcd driver was changed to use hrtimers instead of regular timers. It turns out that the problems are caused by a subtle difference between the timer_pending() and hrtimer_active() APIs. The changeover blindly replaced the first by the second. However, timer_pending() returns True when the timer is queued but not when its callback is running, whereas hrtimer_active() returns True when the hrtimer is queued _or_ its callback is running. This difference occasionally caused dummy_urb_enqueue() to think that the callback routine had not yet started when in fact it was almost finished. As a result the hrtimer was not restarted, which made it impossible for the driver to dequeue later the URB that was just enqueued. This caused usb_kill_urb() to hang, and things got worse from there. Since hrtimers have no API for telling when they are queued and the callback isn't running, the driver must keep track of this for itself. That's what this patch does, adding a new "timer_pending" flag and setting or clearing it at the appropriate times.
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存在安全漏洞,该漏洞源于USB模块中,dummy-hcd驱动程序使用hrtimers代替常规计时器后,由于timer_pending和hrtimer_active API使用不当,导致任务挂起问题。
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 8ffba8d917f44a8acbfccbdec331204353ac8ac8 ~ cf7ee2291da551fc4b109fda1f6a332cb8212065 -
LinuxLinux 6.10 -

II. Public POCs for CVE-2024-50100

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-50100

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-11-05 · 50 CVEs total

CVE-2024-50123bpf: Add the missing BPF_LINK_TYPE invocation for sockmap
CVE-2024-50129net: pse-pd: Fix out of bound for loop
CVE-2024-50134drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA
CVE-2024-50136net/mlx5: Unregister notifier on eswitch init failure
CVE-2024-50135nvme-pci: fix race condition between reset and nvme_dev_disable()
CVE-2024-50137reset: starfive: jh71x0: Fix accessing the empty member on JH7110 SoC
CVE-2024-50138bpf: Use raw_spinlock_t in ringbuf
CVE-2024-50132tracing/probes: Fix MAX_TRACE_ARGS limit handling
CVE-2024-50127net: sched: fix use-after-free in taprio_change()
CVE-2024-50125Bluetooth: SCO: Fix UAF on sco_sock_timeout
CVE-2024-50126net: sched: use RCU read-side critical section in taprio_dump()
CVE-2024-50124Bluetooth: ISO: Fix UAF on iso_sock_timeout
CVE-2024-50121nfsd: cancel nfsd_shrinker_work using sync mode in nfs4_state_shutdown_net
CVE-2024-50122PCI: Hold rescan lock while adding devices during host probe
CVE-2024-50120smb: client: Handle kstrdup failures for passwords
CVE-2024-50119cifs: fix warning when destroy 'cifs_io_request_pool'
CVE-2024-50118btrfs: reject ro->rw reconfiguration if there are hard ro requirements
CVE-2024-50117drm/amd: Guard against bad data for ATIF ACPI method
CVE-2024-50116nilfs2: fix kernel bug due to missing clearing of buffer delay flag
CVE-2024-50115KVM: nSVM: Ignore nCR3[4:0] when loading PDPTEs from memory

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

IV. Related Vulnerabilities

V. Comments for CVE-2024-50100

No comments yet


Leave a comment