---
id: CVE-2024-39509
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  HID: core: remove unnecessary WARN_ON() in implement()

  Syzkaller hit a warning [1] in a call to implement() when trying
  to write a value into a field of smaller size i…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  HID: core: remove unnecessary WARN_ON() in implement()

  Syzkaller hit a warning [1] in a call to implement() when trying
  to write a value into a field of smaller size i…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-617
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.7, < 4.19.317'
  - 'linux_kernel >= 4.20, < 5.4.279'
  - 'linux_kernel >= 5.5, < 5.10.221'
  - 'linux_kernel >= 5.11, < 5.15.162'
  - 'linux_kernel >= 5.16, < 6.1.95'
  - 'linux_kernel >= 6.2, < 6.6.35'
  - 'linux_kernel >= 6.7, < 6.9.6'
  - linux_kernel = 6.10
patched:
  - linux_kernel 6.9.6
published: '2024-07-12'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:18:35.167'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-39509'
references:
  - url: 'https://git.kernel.org/stable/c/30f76bc468b9b2cbbd5d3eb482661e3e4798893f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/33f6832798dd3297317901cc1db556ac3ae80c24'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4aa2dcfbad538adf7becd0034a3754e1bd01b2b5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/655c6de2f215b61d0708db6b06305eee9bbfeba2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8bac61934cd563b073cd30b8cf6d5c758ab5ab26'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/955b3764671f3f157215194972d9c01a3a4bd316'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/bfd546fc7fd76076f81bf41b85b51ceda30949fd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f9db5fbeffb951cac3f0fb1c2eeffb79785399ca'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/30f76bc468b9b2cbbd5d3eb482661e3e4798893f'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/33f6832798dd3297317901cc1db556ac3ae80c24'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/4aa2dcfbad538adf7becd0034a3754e1bd01b2b5'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/655c6de2f215b61d0708db6b06305eee9bbfeba2'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/8bac61934cd563b073cd30b8cf6d5c758ab5ab26'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/955b3764671f3f157215194972d9c01a3a4bd316'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/bfd546fc7fd76076f81bf41b85b51ceda30949fd'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/f9db5fbeffb951cac3f0fb1c2eeffb79785399ca'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-265688.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-355557.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00302
epssPercentile: 0.21425
ingestedAt: '2026-10-15T03:30:12.719Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-09-10T17:06:44.616328Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

HID: core: remove unnecessary WARN_ON() in implement()

Syzkaller hit a warning [1] in a call to implement() when trying
to write a value into a field of smaller size in an output report.

Since implement() already has a warn message printed out with the
help of hid_warn() and value in question gets trimmed with:
	...
	value &= m;
	...
WARN_ON may be considered superfluous. Remove it to suppress future
syzkaller triggers.

[1]
WARNING: CPU: 0 PID: 5084 at drivers/hid/hid-core.c:1451 implement drivers/hid/hid-core.c:1451 [inline]
WARNING: CPU: 0 PID: 5084 at drivers/hid/hid-core.c:1451 hid_output_report+0x548/0x760 drivers/hid/hid-core.c:1863
Modules linked in:
CPU: 0 PID: 5084 Comm: syz-executor424 Not tainted 6.9.0-rc7-syzkaller-00183-gcf87f46fd34d #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
RIP: 0010:implement drivers/hid/hid-core.c:1451 [inline]
RIP: 0010:hid_output_report+0x548/0x760 drivers/hid/hid-core.c:1863
...
Call Trace:
 <TASK>
 __usbhid_submit_report drivers/hid/usbhid/hid-core.c:591 [inline]
 usbhid_submit_report+0x43d/0x9e0 drivers/hid/usbhid/hid-core.c:636
 hiddev_ioctl+0x138b/0x1f00 drivers/hid/usbhid/hiddev.c:726
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:904 [inline]
 __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:890
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
...

## Affected

- `linux_kernel >= 4.7, < 4.19.317`
- `linux_kernel >= 4.20, < 5.4.279`
- `linux_kernel >= 5.5, < 5.10.221`
- `linux_kernel >= 5.11, < 5.15.162`
- `linux_kernel >= 5.16, < 6.1.95`
- `linux_kernel >= 6.2, < 6.6.35`
- `linux_kernel >= 6.7, < 6.9.6`
- `linux_kernel = 6.10`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.9.6`
