{
  "cveId": "CVE-2026-31721",
  "url": "https://patchblox.com/security/cve/CVE-2026-31721",
  "summary": "CVE-2026-31721 is fixed in 14 products on 1 platform, first by DEBIAN-CVE-2026-31721, released May 15, 2026. It is not reported as exploited. Patch Radar priority: High.",
  "title": "usb: gadget: f_hid: move list and spinlock inits from bind to alloc",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  usb: gadget: f_hid: move list and spinlock inits from bind to alloc  There was an issue when you did the following: - setup and bind an hid gadget - open /dev/hidg0 - use the resulting fd in EPOLL_CTL_ADD - unbind the UDC - bind the UDC - use the fd in EPOLL_CTL_DEL  When CONFIG_DEBUG_LIST was enabled, a list_del corruption was reported within remove_wait_queue (via ep_remove_wait_queue). After some debugging I found out that the queues, which f_hid registers via poll_wait were the problem. These were initialized using init_waitqueue_head inside hidg_bind. So effectively, the bind function re-initialized the queues while there were still items in them.  The solution is to move the initialization from hidg_bind to hidg_alloc to extend their lifetimes to the lifetime of the function instance.  Additionally, I found many other possibly problematic init calls in the bind function, which I moved as well.",
  "published": "2026-05-01T15:16:34Z",
  "severity": "Important",
  "cvss": 7.8,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "epss": 0.00127,
  "epssPercentile": 0.02403,
  "priority": "High",
  "priorityTier": 3,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "vendorAdvisory": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-31721",
  "fixes": [
    {
      "platform": "linux",
      "product": "dtb-aarch64",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-64kb",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-64kb",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-azure",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-azure",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23237-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23237-1",
      "released": "2026-08-11T21:34:22Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default-base",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1.160000.2.19",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default-base",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1.160000.2.19",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-docs",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-docs",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-kvmsmall",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-kvmsmall",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-obs-build",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-obs-qa",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-obs-qa",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-rt",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-source",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-source",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-syms",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-syms",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "kernel-zfcpdump",
      "release": "opensuse-leap 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "OPENSUSE-SU-2026:21555-1",
      "url": "https://patchblox.com/security/fix/linux/opensuse-su-2026-21555-1",
      "released": "2026-08-12T01:09:28Z"
    },
    {
      "platform": "linux",
      "product": "kernel-zfcpdump",
      "release": "sles 16.0",
      "fixedVersion": "6.12.0-160000.37.1",
      "fix": "SUSE-SU-2026:23231-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-23231-1",
      "released": "2026-08-11T21:26:34Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.1.170-1",
      "fix": "DEBIAN-CVE-2026-31721",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31721",
      "released": "2026-05-15T16:01:09Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.12.85-1",
      "fix": "DEBIAN-CVE-2026-31721",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31721",
      "released": "2026-05-15T16:01:09Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.19.12-1",
      "fix": "DEBIAN-CVE-2026-31721",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31721",
      "released": "2026-05-15T16:01:09Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-09T13:31:49Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}