GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2024-56545 (GCVE-0-2024-56545)

Vulnerability from cvelistv5 – Published: 2024-12-27 14:11 – Updated: 2026-09-14 11:57
VLAI
Title
HID: hyperv: streamline driver probe to avoid devres issues
Summary
In the Linux kernel, the following vulnerability has been resolved: HID: hyperv: streamline driver probe to avoid devres issues It was found that unloading 'hid_hyperv' module results in a devres complaint: ... hv_vmbus: unregistering driver hid_hyperv ------------[ cut here ]------------ WARNING: CPU: 2 PID: 3983 at drivers/base/devres.c:691 devres_release_group+0x1f2/0x2c0 ... Call Trace: <TASK> ? devres_release_group+0x1f2/0x2c0 ? __warn+0xd1/0x1c0 ? devres_release_group+0x1f2/0x2c0 ? report_bug+0x32a/0x3c0 ? handle_bug+0x53/0xa0 ? exc_invalid_op+0x18/0x50 ? asm_exc_invalid_op+0x1a/0x20 ? devres_release_group+0x1f2/0x2c0 ? devres_release_group+0x90/0x2c0 ? rcu_is_watching+0x15/0xb0 ? __pfx_devres_release_group+0x10/0x10 hid_device_remove+0xf5/0x220 device_release_driver_internal+0x371/0x540 ? klist_put+0xf3/0x170 bus_remove_device+0x1f1/0x3f0 device_del+0x33f/0x8c0 ? __pfx_device_del+0x10/0x10 ? cleanup_srcu_struct+0x337/0x500 hid_destroy_device+0xc8/0x130 mousevsc_remove+0xd2/0x1d0 [hid_hyperv] device_release_driver_internal+0x371/0x540 driver_detach+0xc5/0x180 bus_remove_driver+0x11e/0x2a0 ? __mutex_unlock_slowpath+0x160/0x5e0 vmbus_driver_unregister+0x62/0x2b0 [hv_vmbus] ... And the issue seems to be that the corresponding devres group is not allocated. Normally, devres_open_group() is called from __hid_device_probe() but Hyper-V HID driver overrides 'hid_dev->driver' with 'mousevsc_hid_driver' stub and basically re-implements __hid_device_probe() by calling hid_parse() and hid_hw_start() but not devres_open_group(). hid_device_probe() does not call __hid_device_probe() for it. Later, when the driver is removed, hid_device_remove() calls devres_release_group() as it doesn't check whether hdev->driver was initially overridden or not. The issue seems to be related to the commit 62c68e7cee33 ("HID: ensure timely release of driver-allocated resources") but the commit itself seems to be correct. Fix the issue by dropping the 'hid_dev->driver' override and using hid_register_driver()/hid_unregister_driver() instead. Alternatively, it would have been possible to rely on the default handling but HID_CONNECT_DEFAULT implies HID_CONNECT_HIDRAW and it doesn't seem to work for mousevsc as-is.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 62c68e7cee332e08e625af3bca3318814086490d , < b03e713a400aeb5f969bab4daf47a7402d0df814 (git)
Affected: 62c68e7cee332e08e625af3bca3318814086490d , < 19a9457e5e210e408c1f8865b5d93c5a2c90409d (git)
Affected: 62c68e7cee332e08e625af3bca3318814086490d , < 3d48d0fbaaa74a04fb9092780a3f83dc4f3f8160 (git)
Affected: 62c68e7cee332e08e625af3bca3318814086490d , < 66ef47faa90d838cda131fe1f7776456cc3b59f2 (git)
Affected: e6ea3de7abef998aaab9f04a7a11a7c5f56bbe57 (git)
Affected: ac0d8318082f549419104cfe9cb6a9deb2df9853 (git)
Affected: 4d1617e40713a6202b6165ca137b09aaf35637f5 (git)
Affected: 5.10.270 , < 5.11 (semver)
Affected: 5.15.221 , < 5.16 (semver)
Affected: 6.1.188 , < 6.2 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.5
Unaffected: 0 , < 6.5 (semver)
Unaffected: 6.6.64 , ≤ 6.6.* (semver)
Unaffected: 6.11.11 , ≤ 6.11.* (semver)
Unaffected: 6.12.2 , ≤ 6.12.* (semver)
Unaffected: 6.13 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/hid/hid-hyperv.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b03e713a400aeb5f969bab4daf47a7402d0df814",
              "status": "affected",
              "version": "62c68e7cee332e08e625af3bca3318814086490d",
              "versionType": "git"
            },
            {
              "lessThan": "19a9457e5e210e408c1f8865b5d93c5a2c90409d",
              "status": "affected",
              "version": "62c68e7cee332e08e625af3bca3318814086490d",
              "versionType": "git"
            },
            {
              "lessThan": "3d48d0fbaaa74a04fb9092780a3f83dc4f3f8160",
              "status": "affected",
              "version": "62c68e7cee332e08e625af3bca3318814086490d",
              "versionType": "git"
            },
            {
              "lessThan": "66ef47faa90d838cda131fe1f7776456cc3b59f2",
              "status": "affected",
              "version": "62c68e7cee332e08e625af3bca3318814086490d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "e6ea3de7abef998aaab9f04a7a11a7c5f56bbe57",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "ac0d8318082f549419104cfe9cb6a9deb2df9853",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "4d1617e40713a6202b6165ca137b09aaf35637f5",
              "versionType": "git"
            },
            {
              "lessThan": "5.11",
              "status": "affected",
              "version": "5.10.270",
              "versionType": "semver"
            },
            {
              "lessThan": "5.16",
              "status": "affected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThan": "6.2",
              "status": "affected",
              "version": "6.1.188",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/hid/hid-hyperv.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.5"
            },
            {
              "lessThan": "6.5",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.64",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.64",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11.11",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.2",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.10.270",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.15.221",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.1.188",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: hyperv: streamline driver probe to avoid devres issues\n\nIt was found that unloading \u0027hid_hyperv\u0027 module results in a devres\ncomplaint:\n\n ...\n hv_vmbus: unregistering driver hid_hyperv\n ------------[ cut here ]------------\n WARNING: CPU: 2 PID: 3983 at drivers/base/devres.c:691 devres_release_group+0x1f2/0x2c0\n ...\n Call Trace:\n  \u003cTASK\u003e\n  ? devres_release_group+0x1f2/0x2c0\n  ? __warn+0xd1/0x1c0\n  ? devres_release_group+0x1f2/0x2c0\n  ? report_bug+0x32a/0x3c0\n  ? handle_bug+0x53/0xa0\n  ? exc_invalid_op+0x18/0x50\n  ? asm_exc_invalid_op+0x1a/0x20\n  ? devres_release_group+0x1f2/0x2c0\n  ? devres_release_group+0x90/0x2c0\n  ? rcu_is_watching+0x15/0xb0\n  ? __pfx_devres_release_group+0x10/0x10\n  hid_device_remove+0xf5/0x220\n  device_release_driver_internal+0x371/0x540\n  ? klist_put+0xf3/0x170\n  bus_remove_device+0x1f1/0x3f0\n  device_del+0x33f/0x8c0\n  ? __pfx_device_del+0x10/0x10\n  ? cleanup_srcu_struct+0x337/0x500\n  hid_destroy_device+0xc8/0x130\n  mousevsc_remove+0xd2/0x1d0 [hid_hyperv]\n  device_release_driver_internal+0x371/0x540\n  driver_detach+0xc5/0x180\n  bus_remove_driver+0x11e/0x2a0\n  ? __mutex_unlock_slowpath+0x160/0x5e0\n  vmbus_driver_unregister+0x62/0x2b0 [hv_vmbus]\n  ...\n\nAnd the issue seems to be that the corresponding devres group is not\nallocated. Normally, devres_open_group() is called from\n__hid_device_probe() but Hyper-V HID driver overrides \u0027hid_dev-\u003edriver\u0027\nwith \u0027mousevsc_hid_driver\u0027 stub and basically re-implements\n__hid_device_probe() by calling hid_parse() and hid_hw_start() but not\ndevres_open_group(). hid_device_probe() does not call __hid_device_probe()\nfor it. Later, when the driver is removed, hid_device_remove() calls\ndevres_release_group() as it doesn\u0027t check whether hdev-\u003edriver was\ninitially overridden or not.\n\nThe issue seems to be related to the commit 62c68e7cee33 (\"HID: ensure\ntimely release of driver-allocated resources\") but the commit itself seems\nto be correct.\n\nFix the issue by dropping the \u0027hid_dev-\u003edriver\u0027 override and using\nhid_register_driver()/hid_unregister_driver() instead. Alternatively, it\nwould have been possible to rely on the default handling but\nHID_CONNECT_DEFAULT implies HID_CONNECT_HIDRAW and it doesn\u0027t seem to work\nfor mousevsc as-is."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-14T11:57:48.267Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b03e713a400aeb5f969bab4daf47a7402d0df814"
        },
        {
          "url": "https://git.kernel.org/stable/c/19a9457e5e210e408c1f8865b5d93c5a2c90409d"
        },
        {
          "url": "https://git.kernel.org/stable/c/3d48d0fbaaa74a04fb9092780a3f83dc4f3f8160"
        },
        {
          "url": "https://git.kernel.org/stable/c/66ef47faa90d838cda131fe1f7776456cc3b59f2"
        }
      ],
      "title": "HID: hyperv: streamline driver probe to avoid devres issues",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-56545",
    "datePublished": "2024-12-27T14:11:26.722Z",
    "dateReserved": "2024-12-27T14:03:05.989Z",
    "dateUpdated": "2026-09-14T11:57:48.267Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-56545",
      "date": "2026-09-19",
      "epss": "0.00213",
      "percentile": "0.11979"
    },
    "fkie_nvd": {
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: hyperv: streamline driver probe to avoid devres issues\n\nIt was found that unloading \u0027hid_hyperv\u0027 module results in a devres\ncomplaint:\n\n ...\n hv_vmbus: unregistering driver hid_hyperv\n ------------[ cut here ]------------\n WARNING: CPU: 2 PID: 3983 at drivers/base/devres.c:691 devres_release_group+0x1f2/0x2c0\n ...\n Call Trace:\n  \u003cTASK\u003e\n  ? devres_release_group+0x1f2/0x2c0\n  ? __warn+0xd1/0x1c0\n  ? devres_release_group+0x1f2/0x2c0\n  ? report_bug+0x32a/0x3c0\n  ? handle_bug+0x53/0xa0\n  ? exc_invalid_op+0x18/0x50\n  ? asm_exc_invalid_op+0x1a/0x20\n  ? devres_release_group+0x1f2/0x2c0\n  ? devres_release_group+0x90/0x2c0\n  ? rcu_is_watching+0x15/0xb0\n  ? __pfx_devres_release_group+0x10/0x10\n  hid_device_remove+0xf5/0x220\n  device_release_driver_internal+0x371/0x540\n  ? klist_put+0xf3/0x170\n  bus_remove_device+0x1f1/0x3f0\n  device_del+0x33f/0x8c0\n  ? __pfx_device_del+0x10/0x10\n  ? cleanup_srcu_struct+0x337/0x500\n  hid_destroy_device+0xc8/0x130\n  mousevsc_remove+0xd2/0x1d0 [hid_hyperv]\n  device_release_driver_internal+0x371/0x540\n  driver_detach+0xc5/0x180\n  bus_remove_driver+0x11e/0x2a0\n  ? __mutex_unlock_slowpath+0x160/0x5e0\n  vmbus_driver_unregister+0x62/0x2b0 [hv_vmbus]\n  ...\n\nAnd the issue seems to be that the corresponding devres group is not\nallocated. Normally, devres_open_group() is called from\n__hid_device_probe() but Hyper-V HID driver overrides \u0027hid_dev-\u003edriver\u0027\nwith \u0027mousevsc_hid_driver\u0027 stub and basically re-implements\n__hid_device_probe() by calling hid_parse() and hid_hw_start() but not\ndevres_open_group(). hid_device_probe() does not call __hid_device_probe()\nfor it. Later, when the driver is removed, hid_device_remove() calls\ndevres_release_group() as it doesn\u0027t check whether hdev-\u003edriver was\ninitially overridden or not.\n\nThe issue seems to be related to the commit 62c68e7cee33 (\"HID: ensure\ntimely release of driver-allocated resources\") but the commit itself seems\nto be correct.\n\nFix the issue by dropping the \u0027hid_dev-\u003edriver\u0027 override and using\nhid_register_driver()/hid_unregister_driver() instead. Alternatively, it\nwould have been possible to rely on the default handling but\nHID_CONNECT_DEFAULT implies HID_CONNECT_HIDRAW and it doesn\u0027t seem to work\nfor mousevsc as-is."
        },
        {
          "lang": "es",
          "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: HID: hyperv: optimizar la sonda del controlador para evitar problemas con devres Se encontr\u00f3 que descargar el m\u00f3dulo \u0027hid_hyperv\u0027 da como resultado una queja de devres: ... hv_vmbus: anulando el registro del controlador hid_hyperv ------------[ cortar aqu\u00ed ]------------ ADVERTENCIA: CPU: 2 PID: 3983 en drivers/base/devres.c:691 devres_release_group+0x1f2/0x2c0 ... Seguimiento de llamadas:  ? devres_release_group+0x1f2/0x2c0 ? __warn+0xd1/0x1c0 ? devres_release_group+0x1f2/0x2c0 ? report_bug+0x32a/0x3c0 ? handle_bug+0x53/0xa0 ? exc_invalid_op+0x18/0x50 ? asm_exc_invalid_op+0x1a/0x20 ? grupo_liberaci\u00f3n_devres+0x1f2/0x2c0 ? grupo_liberaci\u00f3n_devres+0x90/0x2c0 ? rcu_is_watching+0x15/0xb0 ? __pfx_grupo_liberaci\u00f3n_devres+0x10/0x10 eliminaci\u00f3n_dispositivo_hid+0xf5/0x220 controlador_liberaci\u00f3n_dispositivo_interno+0x371/0x540 ? klist_put+0xf3/0x170 eliminaci\u00f3n_dispositivo_bus+0x1f1/0x3f0 dispositivo_del+0x33f/0x8c0 ? __pfx_dispositivo_del+0x10/0x10 ? cleanup_srcu_struct+0x337/0x500 hid_destroy_device+0xc8/0x130 mousevsc_remove+0xd2/0x1d0 [hid_hyperv] device_release_driver_internal+0x371/0x540 driver_detach+0xc5/0x180 bus_remove_driver+0x11e/0x2a0 ? __mutex_unlock_slowpath+0x160/0x5e0 vmbus_driver_unregister+0x62/0x2b0 [hv_vmbus] ... Y el problema parece ser que el grupo devres correspondiente no est\u00e1 asignado. Normalmente, devres_open_group() se llama desde __hid_device_probe() pero el controlador HID de Hyper-V anula \u0027hid_dev-\u0026gt;driver\u0027 con el stub \u0027mousevsc_hid_driver\u0027 y b\u00e1sicamente vuelve a implementar __hid_device_probe() llamando a hid_parse() y hid_hw_start() pero no a devres_open_group(). hid_device_probe() no llama a __hid_device_probe() para ello. M\u00e1s tarde, cuando se elimina el controlador, hid_device_remove() llama a devres_release_group() ya que no verifica si hdev-\u0026gt;driver se anul\u00f3 inicialmente o no. El problema parece estar relacionado con el commit 62c68e7cee33 (\"HID: garantizar la liberaci\u00f3n oportuna de los recursos asignados al controlador\") pero el commit en s\u00ed parece ser correcta. Solucione el problema eliminando la anulaci\u00f3n de \u0027hid_dev-\u0026gt;driver\u0027 y utilizando hid_register_driver()/hid_unregister_driver() en su lugar. Como alternativa, habr\u00eda sido posible confiar en la gesti\u00f3n predeterminado, pero HID_CONNECT_DEFAULT implica HID_CONNECT_HIDRAW y no parece funcionar para mousevsc tal como est\u00e1."
        }
      ],
      "id": "CVE-2024-56545",
      "lastModified": "2024-12-27T14:15:34.270",
      "published": "2024-12-27T14:15:34.270",
      "references": [
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "url": "https://git.kernel.org/stable/c/19a9457e5e210e408c1f8865b5d93c5a2c90409d"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "url": "https://git.kernel.org/stable/c/3d48d0fbaaa74a04fb9092780a3f83dc4f3f8160"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "url": "https://git.kernel.org/stable/c/66ef47faa90d838cda131fe1f7776456cc3b59f2"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "url": "https://git.kernel.org/stable/c/b03e713a400aeb5f969bab4daf47a7402d0df814"
        }
      ],
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Awaiting Analysis"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/hid/hid-hyperv.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "b03e713a400aeb5f969bab4daf47a7402d0df814",
                    "status": "affected",
                    "version": "62c68e7cee332e08e625af3bca3318814086490d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "19a9457e5e210e408c1f8865b5d93c5a2c90409d",
                    "status": "affected",
                    "version": "62c68e7cee332e08e625af3bca3318814086490d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "3d48d0fbaaa74a04fb9092780a3f83dc4f3f8160",
                    "status": "affected",
                    "version": "62c68e7cee332e08e625af3bca3318814086490d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "66ef47faa90d838cda131fe1f7776456cc3b59f2",
                    "status": "affected",
                    "version": "62c68e7cee332e08e625af3bca3318814086490d",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "e6ea3de7abef998aaab9f04a7a11a7c5f56bbe57",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "ac0d8318082f549419104cfe9cb6a9deb2df9853",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "4d1617e40713a6202b6165ca137b09aaf35637f5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5.11",
                    "status": "affected",
                    "version": "5.10.270",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.16",
                    "status": "affected",
                    "version": "5.15.221",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.2",
                    "status": "affected",
                    "version": "6.1.188",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/hid/hid-hyperv.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.5"
                  },
                  {
                    "lessThan": "6.5",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.64",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.11.*",
                    "status": "unaffected",
                    "version": "6.11.11",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.2",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.13",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "54B7846B-C7F0-4910-8749-C0C31DCDDFD7",
                    "versionEndExcluding": "6.6.64",
                    "versionStartIncluding": "6.5",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "21434379-192D-472F-9B54-D45E3650E893",
                    "versionEndExcluding": "6.11.11",
                    "versionStartIncluding": "6.7",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "D8882B1B-2ABC-4838-AC1D-DBDBB5764776",
                    "versionEndExcluding": "6.12.2",
                    "versionStartIncluding": "6.12",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: hyperv: streamline driver probe to avoid devres issues\n\nIt was found that unloading \u0027hid_hyperv\u0027 module results in a devres\ncomplaint:\n\n ...\n hv_vmbus: unregistering driver hid_hyperv\n ------------[ cut here ]------------\n WARNING: CPU: 2 PID: 3983 at drivers/base/devres.c:691 devres_release_group+0x1f2/0x2c0\n ...\n Call Trace:\n  \u003cTASK\u003e\n  ? devres_release_group+0x1f2/0x2c0\n  ? __warn+0xd1/0x1c0\n  ? devres_release_group+0x1f2/0x2c0\n  ? report_bug+0x32a/0x3c0\n  ? handle_bug+0x53/0xa0\n  ? exc_invalid_op+0x18/0x50\n  ? asm_exc_invalid_op+0x1a/0x20\n  ? devres_release_group+0x1f2/0x2c0\n  ? devres_release_group+0x90/0x2c0\n  ? rcu_is_watching+0x15/0xb0\n  ? __pfx_devres_release_group+0x10/0x10\n  hid_device_remove+0xf5/0x220\n  device_release_driver_internal+0x371/0x540\n  ? klist_put+0xf3/0x170\n  bus_remove_device+0x1f1/0x3f0\n  device_del+0x33f/0x8c0\n  ? __pfx_device_del+0x10/0x10\n  ? cleanup_srcu_struct+0x337/0x500\n  hid_destroy_device+0xc8/0x130\n  mousevsc_remove+0xd2/0x1d0 [hid_hyperv]\n  device_release_driver_internal+0x371/0x540\n  driver_detach+0xc5/0x180\n  bus_remove_driver+0x11e/0x2a0\n  ? __mutex_unlock_slowpath+0x160/0x5e0\n  vmbus_driver_unregister+0x62/0x2b0 [hv_vmbus]\n  ...\n\nAnd the issue seems to be that the corresponding devres group is not\nallocated. Normally, devres_open_group() is called from\n__hid_device_probe() but Hyper-V HID driver overrides \u0027hid_dev-\u003edriver\u0027\nwith \u0027mousevsc_hid_driver\u0027 stub and basically re-implements\n__hid_device_probe() by calling hid_parse() and hid_hw_start() but not\ndevres_open_group(). hid_device_probe() does not call __hid_device_probe()\nfor it. Later, when the driver is removed, hid_device_remove() calls\ndevres_release_group() as it doesn\u0027t check whether hdev-\u003edriver was\ninitially overridden or not.\n\nThe issue seems to be related to the commit 62c68e7cee33 (\"HID: ensure\ntimely release of driver-allocated resources\") but the commit itself seems\nto be correct.\n\nFix the issue by dropping the \u0027hid_dev-\u003edriver\u0027 override and using\nhid_register_driver()/hid_unregister_driver() instead. Alternatively, it\nwould have been possible to rely on the default handling but\nHID_CONNECT_DEFAULT implies HID_CONNECT_HIDRAW and it doesn\u0027t seem to work\nfor mousevsc as-is."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: HID: hyperv: optimizar la sonda del controlador para evitar problemas con devres Se encontr\u00f3 que descargar el m\u00f3dulo \u0027hid_hyperv\u0027 da como resultado una queja de devres: ... hv_vmbus: anulando el registro del controlador hid_hyperv ------------[ cortar aqu\u00ed ]------------ ADVERTENCIA: CPU: 2 PID: 3983 en drivers/base/devres.c:691 devres_release_group+0x1f2/0x2c0 ... Seguimiento de llamadas:  ? devres_release_group+0x1f2/0x2c0 ? __warn+0xd1/0x1c0 ? devres_release_group+0x1f2/0x2c0 ? report_bug+0x32a/0x3c0 ? handle_bug+0x53/0xa0 ? exc_invalid_op+0x18/0x50 ? asm_exc_invalid_op+0x1a/0x20 ? grupo_liberaci\u00f3n_devres+0x1f2/0x2c0 ? grupo_liberaci\u00f3n_devres+0x90/0x2c0 ? rcu_is_watching+0x15/0xb0 ? __pfx_grupo_liberaci\u00f3n_devres+0x10/0x10 eliminaci\u00f3n_dispositivo_hid+0xf5/0x220 controlador_liberaci\u00f3n_dispositivo_interno+0x371/0x540 ? klist_put+0xf3/0x170 eliminaci\u00f3n_dispositivo_bus+0x1f1/0x3f0 dispositivo_del+0x33f/0x8c0 ? __pfx_dispositivo_del+0x10/0x10 ? cleanup_srcu_struct+0x337/0x500 hid_destroy_device+0xc8/0x130 mousevsc_remove+0xd2/0x1d0 [hid_hyperv] device_release_driver_internal+0x371/0x540 driver_detach+0xc5/0x180 bus_remove_driver+0x11e/0x2a0 ? __mutex_unlock_slowpath+0x160/0x5e0 vmbus_driver_unregister+0x62/0x2b0 [hv_vmbus] ... Y el problema parece ser que el grupo devres correspondiente no est\u00e1 asignado. Normalmente, devres_open_group() se llama desde __hid_device_probe() pero el controlador HID de Hyper-V anula \u0027hid_dev-\u0026gt;driver\u0027 con el stub \u0027mousevsc_hid_driver\u0027 y b\u00e1sicamente vuelve a implementar __hid_device_probe() llamando a hid_parse() y hid_hw_start() pero no a devres_open_group(). hid_device_probe() no llama a __hid_device_probe() para ello. M\u00e1s tarde, cuando se elimina el controlador, hid_device_remove() llama a devres_release_group() ya que no verifica si hdev-\u0026gt;driver se anul\u00f3 inicialmente o no. El problema parece estar relacionado con el commit 62c68e7cee33 (\"HID: garantizar la liberaci\u00f3n oportuna de los recursos asignados al controlador\") pero el commit en s\u00ed parece ser correcta. Solucione el problema eliminando la anulaci\u00f3n de \u0027hid_dev-\u0026gt;driver\u0027 y utilizando hid_register_driver()/hid_unregister_driver() en su lugar. Como alternativa, habr\u00eda sido posible confiar en la gesti\u00f3n predeterminado, pero HID_CONNECT_DEFAULT implica HID_CONNECT_HIDRAW y no parece funcionar para mousevsc tal como est\u00e1."
          }
        ],
        "id": "CVE-2024-56545",
        "lastModified": "2026-09-14T12:17:34.047",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 5.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 3.6,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2024-12-27T14:15:34.270",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/19a9457e5e210e408c1f8865b5d93c5a2c90409d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/3d48d0fbaaa74a04fb9092780a3f83dc4f3f8160"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/66ef47faa90d838cda131fe1f7776456cc3b59f2"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/b03e713a400aeb5f969bab4daf47a7402d0df814"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2025-11-21T10:42:36+00:00",
      "cve": "CVE-2024-56545",
      "id": "CVE-2024-56545",
      "initial_release_date": "2024-12-27T00:00:00+00:00",
      "product_status:known_affected": "150",
      "product_status:known_not_affected": "48",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: HID: hyperv: streamline driver probe to avoid devres issues",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-56545.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T02:22:12Z",
      "cve": "CVE-2024-56545",
      "id": "CVE-2024-56545",
      "initial_release_date": "2024-12-28T03:49:08Z",
      "product_status:known_not_affected": "547",
      "product_status:recommended": "78",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-56545",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-56545.json",
      "version": "28"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…