CVE-2025-38494

Published Jul 28, 2025

Last updated 4 days ago

CVSS high 7.8
Linux Kernel

Overview

AI description

Automated description summarized from trusted sources.

CVE-2025-38494 refers to a vulnerability found in the Linux kernel. Specifically, the vulnerability lies in the HID (Human Interface Devices) core. The issue stems from the fact that the `hid_hw_raw_request()` function was being bypassed, which is important for validating the buffer and length of requests. By directly calling the low-level transport driver function, these checks were circumvented, potentially allowing invalid parameters to be used.

Description
In the Linux kernel, the following vulnerability has been resolved: HID: core: do not bypass hid_hw_raw_request hid_hw_raw_request() is actually useful to ensure the provided buffer and length are valid. Directly calling in the low level transport driver function bypassed those checks and allowed invalid paramto be used.
Source
416baaa9-dc9f-4396-8d5f-8c081fb06d67
NVD status
Modified
Products
linux_kernel, debian_linux

Risk scores

CVSS 3.1

Type
Primary
Base score
7.8
Impact score
5.9
Exploitability score
1.8
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Severity
HIGH

Weaknesses

nvd@nist.gov
NVD-CWE-noinfo

Social media

Hype score
Not currently trending
  1. Bam: USB HID info-leak exploit for CVE-2025-38494/CVE-2025-38495 Exploit ( https://t.co/YIpHkcD7Ky) by Andrey Konovalov ( https://t.co/XzbmO1Tfp0 ) for an integer underflow bug in the HID subsystem that allows leaking up to 64 KB of kernel memory over USB. The bug is still not

    @kaisarrmeoydw

    18 Jan 2026

    82 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  2. CVE-2025-38494/CVE-2025-38495 effects on first poweron <10sec

    @HI_Ricky

    9 Nov 2025

    1438 Impressions

    1 Retweet

    4 Likes

    0 Bookmarks

    1 Reply

    0 Quotes

  3. Top 5 Trending CVEs: 1 - CVE-2025-53770 2 - CVE-2025-9132 3 - CVE-2025-38494 4 - CVE-2020-14883 5 - CVE-2025-52970 #cve #cvetrends #cveshield #cybersecurity https://t.co/4Fua3CAN6W

    @CVEShield

    22 Sept 2025

    13 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  4. Wrote a trigger for CVE-2025-38494/5 (an integer underflow in the HID subsystem) that leaks 64 KB of OOB memory over USB. Still works on Pixels and Ubuntus (but the bug is fixed in stable kernels). https://t.co/4IvvqcVs4Q https://t.co/BDzfspHViO

    @andreyknvl

    11 Sept 2025

    12963 Impressions

    37 Retweets

    298 Likes

    115 Bookmarks

    2 Replies

    1 Quote

  5. Urgent: #SUSE releases kernel security patch for SLE 15 SP7. CVE-2025-38494 & CVE-2025-38495 (CVSS: 8.5) allow local privilege escalation via HID core flaws. Read more: 👉 https://t.co/hqvX8NENfc #Security https://t.co/IMBQt98VsH

    @Cezar_H_Linux

    24 Aug 2025

    70 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  6. New SUSE Linux kernel security update ( #SUSE-SU-2025:02943-1 ) is now available. Addresses critical vulnerabilities in the HID subsystem (CVE-2025-38494/5) with a CVSS 4.0 score of 8.5. Read more:👉 https://t.co/FQhwDzcDiT #Security https://t.co/UubH0vZuzs

    @Cezar_H_Linux

    24 Aug 2025

    59 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  7. URGENT: #SUSE releases live patch for Linux Kernel on SLE 15 SP7. Patches 7 vulns incl. CVE-2025-38494 & CVE-2025-38495 (CVSS 8.5). HID, crypto, and net_sched flaws fixed. Read more: 👉 https://t.co/EntU9KIIJY #Security https://t.co/cnTMU9xEf8

    @Cezar_H_Linux

    24 Aug 2025

    71 Impressions

    0 Retweets

    1 Like

    0 Bookmarks

    0 Replies

    0 Quotes

  8. 🔐 CRITICAL SECURITY UPDATE: #SUSE has released Live Patch 10 for SLE 15 SP6 to address four severe Linux kernel vulnerabilities (CVE-2025-38079, CVE-2025-38083, CVE-2025-38494, CVE-2025-38495). Read more:👉 https://t.co/5YM9f2Q65j #Security https://t.co/uOIWxyLxDi

    @Cezar_H_Linux

    22 Aug 2025

    30 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  9. 🔐 CRITICAL SECURITY UPDATE for @SUSE & @openSUSE users. Live Patch 59 for SLE 15 SP3 / Leap 15.3 patches 3 kernel vulnerabilities: CVE-2025-38494 (CVSS 8.5) CVE-2025-38495 (CVSS 8.5) CVE-2025-38079 (CVSS 7.3) Read more:👉 https://t.co/XSUmOav4

    @Cezar_H_Linux

    22 Aug 2025

    6 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  10. 🚨 CRITICAL: #SUSE releases Live Patch 55 for Linux Kernel (SLE 15 SP3/Leap 15.3). Patches 5 vulnerabilities, including CVE-2025-38494 & CVE-2025-38495 (CVSS 8.5). Local privilege escalation risk. Read more: 👉 https://t.co/r7wd7rkJZF #Security https://t.co/ObUKP5u6uk

    @Cezar_H_Linux

    22 Aug 2025

    37 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  11. URGENT: Patch your #SUSE Linux systems now! New kernel update fixes 5 critical vulnerabilities (CVSS up to 8.5): ✅ CVE-2025-38494. ✅ CVE-2025-38495. ✅ CVE-2025-38079. Affects: SLE 15 SP3, Leap 15.3. Read more:👉 https://t.co/fDkvsYuDOK #Security https://t.co/UUYWk2VlHp

    @Cezar_H_Linux

    22 Aug 2025

    38 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  12. URGENT: Patch #SUSE SLE 15 SP6 NOW. Live Patch 11 fixes 4 critical kernel vulnerabilities (CVE-2025-38494, CVE-2025-38495, CVE-2025-38079, CVE-2025-38083) with CVSS scores up to 8.5. Don't risk a breach. Read more:👉 https://t.co/Inku2xAAwA #Security https://t.co/hkVOvbNo6c

    @Cezar_H_Linux

    22 Aug 2025

    42 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  13. URGENT: #SUSE releases critical kernel security patch for SLE 15 SP6 / openSUSE Leap 15.6. Patches 4 vulnerabilities: ✅ CVE-2025-38494 (CVSS 8.5) ✅ CVE-2025-38495 (CVSS 8.5) ✅ CVE-2025-38079 ✅ CVE-2025-38083 Read more: 👉 https://t.co/anKbMUMkxS https://t.co/F367XNvS0u

    @Cezar_H_Linux

    21 Aug 2025

    18 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  14. 🚨 URGENT: #SUSE Linux Kernel Patch Alert for SLE 15 SP4 / Leap 15.4. Patch 5 CVEs now, including two CRITICAL 8.5-rated flaws (CVE-2025-38494, CVE-2025-38495) in the HID core. Read more:👉 https://t.co/cv1fzx3R3v https://t.co/aMaQVtJQOl

    @Cezar_H_Linux

    20 Aug 2025

    28 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  15. 🚨 URGENT #Security Update for @SUSE & @openSUSE users! New Linux kernel patches fix 4 critical vulns (CVSS up to 8.5!). CVE-2025-38494/5 (HID) and others risk privilege escalation & DoS. Read more:👉 https://t.co/r5P937jj18 #Security https://t.co/tItD6gfeun

    @Cezar_H_Linux

    20 Aug 2025

    77 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  16. 🚨 URGENT: #SUSE Linux Kernel Live Patch 54 released. Patches 5 vulnerabilities: ⚠️ CVE-2025-38494 (CVSS: 8.5) ⚠️ CVE-2025-38495 (CVSS: 8.5) Impact: Privilege escalation, system compromise. Affects: #SLE15SP3, #openSUSE Leap 15.3. Read more:👉 https://t.co/BaLkjz2WsW

    @Cezar_H_Linux

    19 Aug 2025

    84 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  17. 🚨 CRITICAL: #SUSE Linux Kernel Security Update 🚨 Patch 28 vulnerabilities (CVE-2025-38494, CVE-2025-38257) in SLE Micro 5.3/5.4. CVSS scores up to 7.8. Read more:👉 https://t.co/Uq6Ng4gLPE #Security https://t.co/srUB1R1XTw

    @Cezar_H_Linux

    19 Aug 2025

    11 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  18. 🚨 URGENT: #SUSE patches 28 Linux kernel vulnerabilities (CVE-2025-38494, CVSS 8.5). Affects openSUSE Leap 15.4, SLES, Micro OS. Risks: Local privilege escalation, DoS. Read more:👉 https://t.co/rBvYcYuHwM #Security https://t.co/VzT4VecNUs

    @Cezar_H_Linux

    19 Aug 2025

    35 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  19. 🚨 Critical kernel update! #SUSE’s Live Patch 38 fixes: ✅ CVE-2025-38494 (8.5) - HID bypass. ✅ CVE-2025-38079 - Crypto double-free. ✅ 3 other CVEs. Read more:👉 https://t.co/Rv9Q9w8D0J #Security https://t.co/y6ari0EIUs

    @Cezar_H_Linux

    18 Aug 2025

    39 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  20. URGENT: #SUSE kernel patch mitigates: ✅ CVE-2025-38494 (HID bypass). ✅ CVE-2025-38083 (net-sched exploit). Install: zypper in -t patch [ID]. Read more: 👉https://t.co/aqzgsXXHrT #Security https://t.co/qhfFQDmtWd

    @Cezar_H_Linux

    18 Aug 2025

    10 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  21. Critical #SUSE kernel update! Patch now for: ✅ CVE-2025-38494/95 (CVSS 8.5 - USB privilege escalation). ✅ CVE-2025-38079 (RCE via crypto API). ✅ 3 other high-risk flaws. Read more: 👉 https://t.co/a6R0CxGfem #Security https://t.co/jTEVRJrTa0

    @Cezar_H_Linux

    18 Aug 2025

    30 Impressions

    0 Retweets

    0 Likes

    1 Bookmark

    0 Replies

    0 Quotes

  22. 🚨 #SUSE Kernel Patch 68: Fixes 4 HIGH-risk CVEs (CVE-2025-38494/5, CVE-2025-38079/83). ✅ CVSS 8.5: HID heap overflows → root access ✅ SLE 12 SP5 affected ⏰ Patch IMMEDIATELY. Read more:👉 https://t.co/8UyqXdbxk4 #Security https://t.co/is9yDCKTtw

    @Cezar_H_Linux

    18 Aug 2025

    19 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  23. ‼️ CRITICAL #Linux Kernel Patches: #SUSE SU-2025:02827-1 for SLE 12 SP5 (Live Patch 67) fixes 4 vulns (CVE-2025-38494/5, CVE-2025-38079/83). CVSS 8.5! Local priv escalation/code exec risk. ⚠️ Read more: 👉 https://t.co/TqhCNYU3Rr #Security https://t.co/c1hSjcTcsW

    @Cezar_H_Linux

    18 Aug 2025

    33 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  24. Critical kernel vulns fixed: CVE-2025-38494 & CVE-2025-38495 (CVSS 8.5). Risk: Local Privilege Escalation -> Full System Takeover. Impacts: SLE Live Patching/RT/Server/SAP (SP6/SP7). Read more: 👉 https://t.co/uyupdv4xfd #Security #SUSE https://t.co/UjzSS1dXn8

    @Cezar_H_Linux

    18 Aug 2025

    30 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  25. BREAKING: #SUSE Linux Kernel RT update fixes critical CVEs: CVE-2025-38494 (8.5 CVSS) CVE-2024-36978 (7.8 CVSS) Patch command: ⬇️ zypper in -t patch SUSE-SLE-... Read more:👉 https://t.co/ZSA15RMYcK #Security https://t.co/s

    @Cezar_H_Linux

    18 Aug 2025

    29 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  26. 🚨 Breaking: #SUSE kernel update (SU-2025:02820-1) patches: CVE-2025-38494 (HID hijacking) CVE-2025-38079 (Crypto crash) Patch IMMEDIATELY if using #Linux Real-Time. Details. Read more: 👉 https://t.co/h8HRH5pyGM #Security https://t.co/aSsax12lub

    @Cezar_H_Linux

    18 Aug 2025

    43 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

  27. CVE-2025-38494 In the Linux kernel, the following vulnerability has been resolved: HID: core: do not bypass hid_hw_raw_request hid_hw_raw_request() is actually useful to ensure th… https://t.co/GIiTDczfTP

    @CVEnew

    28 Jul 2025

    221 Impressions

    0 Retweets

    0 Likes

    0 Bookmarks

    0 Replies

    0 Quotes

Configurations

  1. In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Ensure hugepage is in by slot before checking max mapping level When recovering hugepages in the shadow MMU, verify that the base gfn of the shadow page is actually contained within the target memslot, *before* querying the max mapping level given the shadow page's gfn. Failure to pre-check the validity of the gfn can lead to an out-of-bounds access to the slot's lpage_info (which typically manifests as a host #PF because the lpage_info is vmalloc'd) if the guest creates a hugepage mapping (in its PTEs) that extends "below" the bounds of a memslot. When faulting in memory for a guest, and the size of the guest mapping is greater than KVM's (current) max mapping, then KVM will create a "direct" shadow page (direct in that there are no gPTEs to shadow, and so the target gfn is a direct calculation given the base gfn of the shadow page). The hugepage recovery flow looks for such direct shadow pages, as forcing 4KiB mappings when dirty logging generates the guest > host mapping size case. When the 4KiB restriction is lifted, then KVM can replace the shadow page with a hugepage. But if KVM originally used a smaller mapping than the guest because the range of memory covered by the guest hugepage exceeds the bounds of a memslot, then KVM will link a direct shadow page with a gfn that is outside the bounds of the memslot being used to fault in memory. The rmap entry added for the leaf mapping is correct and within bounds, but the gfn of the leaf SPTE's parent shadow page will be out of bounds. BUG: unable to handle page fault for address: ffffc90000806ffc #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 100000067 P4D 100000067 PUD 1002a7067 PMD 10612f067 PTE 0 Oops: Oops: 0000 [#1] SMP CPU: 13 UID: 1000 PID: 757 Comm: mmu_stress_test Not tainted 7.1.0-rc1-48ce1e26eace-x86_pir_to_irr_comments-vm #341 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:kvm_mmu_max_mapping_level+0x79/0x2b0 [kvm] Call Trace: <TASK> kvm_mmu_recover_huge_pages+0x21b/0x320 [kvm] kvm_set_memslot+0x1ee/0x590 [kvm] kvm_set_memory_region.part.0+0x3a1/0x4d0 [kvm] kvm_vm_ioctl+0x9bf/0x15d0 [kvm] __x64_sys_ioctl+0x8a/0xd0 do_syscall_64+0xb7/0xbb0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f21c0f1a9bf </TASK> Don't bother pre-checking the bounds of the potential hugepage, i.e. don't check that e.g. sp->gfn + KVM_PAGES_PER_HPAGE(sp->role.level + 1) is also within the memslot, as the checks performed by kvm_mmu_max_mapping_level() are a superset of the basic bounds checks. I.e. pre-checking the full range would be a dubious micro-optimization.CVE-2026-63807
  2. In the Linux kernel, the following vulnerability has been resolved: KVM: Replace guest-triggerable BUG_ON() in ioeventfd datamatch with get_unaligned() Drop a BUG_ON() that has been reachable since it was first added, way back in 2009, and instead use get_unaligned() to perform potentially-unaligned accesses. For a given store, KVM x86's emulator tracks the entire value in the destination operand, x86_emulate_ctxt.dst. If the destination is memory, and the target splits multiple pages and/or is emulated MMIO, then KVM handles each fragment independently. E.g. on a page split starting at page offset 0xffc, KVM writes 4 bytes to the first page, then the remaining bytes to the second page, using ctxt->dst as the source for both (with appropriate offsets). If the destination splits a page *and* hits emulated MMIO on the second page, then KVM will complete the write to the first page, then emulate the MMIO access to the second page. If there is a datamatch-enabled ioeventfd at offset 0 of the second page, then KVM will process the remainder of the store as a potential ioeventfd signal. Putting it all together, if the guest emits a store that splits a page starting at page offset N, and the second page has a datamatch-enabled ioeventfd at offset 0, then KVM will check for datamatch using &dst.valptr[N] as the source. Due to dst (and thus dst.valptr) being 32-byte aligned, if N is not aligned to @len, the BUG_ON() fires. E.g. with a 16-byte store at page offset 0xffc, to an ioeventfd of len 8, all initial checks in ioeventfd_in_range() will succeed, and the BUG_ON() fires due to @val being 4-byte aligned, but not 8-byte aligned. ------------[ cut here ]------------ kernel BUG at arch/x86/kvm/../../../virt/kvm/eventfd.c:783! Oops: invalid opcode: 0000 [#1] SMP CPU: 0 UID: 1000 PID: 615 Comm: repro Not tainted 7.1.0-rc2-ff238429d1ea #365 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:ioeventfd_write+0x6c/0x70 [kvm] Call Trace: <TASK> __kvm_io_bus_write+0x85/0xb0 [kvm] kvm_io_bus_write+0x53/0x80 [kvm] vcpu_mmio_write+0x66/0xf0 [kvm] emulator_read_write_onepage+0x12a/0x540 [kvm] emulator_read_write+0x109/0x2b0 [kvm] x86_emulate_insn+0x4f8/0xfb0 [kvm] x86_emulate_instruction+0x181/0x790 [kvm] kvm_mmu_page_fault+0x313/0x630 [kvm] vmx_handle_exit+0x18a/0x590 [kvm_intel] kvm_arch_vcpu_ioctl_run+0xc81/0x1c90 [kvm] kvm_vcpu_ioctl+0x2d5/0x970 [kvm] __x64_sys_ioctl+0x8a/0xd0 do_syscall_64+0xb7/0x890 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f19c931a9bf </TASK> Modules linked in: kvm_intel kvm irqbypass ---[ end trace 0000000000000000 ]--- In a perfect world, the fix would be to simply delete the BUG_ON(), as KVM x86 doesn't perform alignment checks on "normal" memory accesses at CPL0. Sadly, C99 ruins all the fun; while the x86 architecture plays nice, dereferencing an unaligned pointer directly is undefined behavior in C, e.g. triggers splats when running with CONFIG_UBSAN_ALIGNMENT=y.CVE-2026-63806
  3. In the Linux kernel, the following vulnerability has been resolved: hdlc_ppp: sync per-proto timers before freeing hdlc state Each PPP control protocol (LCP/IPCP/IPV6CP) embedded in struct ppp registers a timer via timer_setup(). That struct ppp is the hdlc->state allocation, which detach_hdlc_protocol() frees with kfree() in both teardown paths: unregister_hdlc_device() and the re-attach inside attach_hdlc_protocol(). The ppp proto never registered a .detach callback, so detach_hdlc_protocol() performs no timer synchronization before the kfree(). The only cancel, timer_delete(&proto->timer) in ppp_cp_event(), is partial (it does not wait for a running callback) and only runs on the ->CLOSED transition; ppp_stop()/ppp_close() do not sync either. A ppp_timer callback already executing (blocked on ppp->lock) survives the kfree and then dereferences proto->state / ppp->lock in freed memory, leading to a use-after-free. Fix this by adding a .detach helper that calls timer_shutdown_sync() on every per-proto timer. detach_hdlc_protocol() invokes proto->detach(dev) before kfree(hdlc->state), so timer_shutdown_sync() now runs on both free paths. timer_shutdown_sync() is used instead of timer_delete_sync() because the keepalive path re-arms the timer through add_timer()/mod_timer() and shutdown blocks any re-activation during teardown. Initialize the per-protocol timers in ppp_ioctl() when the protocol is attached, and remove the now-redundant timer_setup() from ppp_start(), so that the timers are initialized exactly once at attach time and ppp_timer_release() never operates on uninitialized timer_list structures. attach_hdlc_protocol() uses kmalloc() (not kzalloc), so struct ppp's protos[i].timer is uninitialized garbage until the first timer_setup(); without this init-at-attach, attaching the PPP protocol without ever bringing the device up would leave timer_shutdown_sync() operating on uninitialized memory in .detach. Moving the init out of ppp_start() (which only runs on NETDEV_UP) into the attach path makes the initialization unconditional and avoids initializing the same timer_list twice. This bug was found by static analysis.CVE-2026-63803