← Back to CVE Explorer

CVE-2025-38103

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse() Update struct hid_descriptor to better reflect the mandatory and optional parts of the HID Descriptor as per USB HID 1.11 specification. Note: the kernel currently does not parse any optional HID class descriptors, only the mandatory report descriptor. Update all references to member element desc[0] to rpt_desc. Add test to verify bLength and bNumDescriptors values are valid. Replace the for loop with direct access to the mandatory HID class descriptor member for the report descriptor. This eliminates the possibility of getting an out-of-bounds fault. Add a warning message if the HID descriptor contains any unsupported optional HID class descriptors.

Severity
HIGH
CVSS score
7.1 (v3.1)
Vulnerability status
Analyzed
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-07-03 09:15:23.847000
Last modified
2026-11-05 21:18:09.857000
View original CVE JSON
{
  "id": "CVE-2025-38103",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-07-03T09:15:23.847",
  "lastModified": "2026-11-05T21:18:09.857",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nHID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse()\n\nUpdate struct hid_descriptor to better reflect the mandatory and\noptional parts of the HID Descriptor as per USB HID 1.11 specification.\nNote: the kernel currently does not parse any optional HID class\ndescriptors, only the mandatory report descriptor.\n\nUpdate all references to member element desc[0] to rpt_desc.\n\nAdd test to verify bLength and bNumDescriptors values are valid.\n\nReplace the for loop with direct access to the mandatory HID class\ndescriptor member for the report descriptor. This eliminates the\npossibility of getting an out-of-bounds fault.\n\nAdd a warning message if the HID descriptor contains any unsupported\noptional HID class descriptors."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: HID: usbhid: Elimina el error recurrente fuera de los límites en usbhid_parse() Actualiza la estructura hid_descriptor para reflejar mejor las partes obligatorias y opcionales del descriptor HID según la especificación USB HID 1.11. Nota: el kernel actualmente no analiza ningún descriptor de clase HID opcional, solo el descriptor de informe obligatorio. Actualiza todas las referencias al elemento miembro desc[0] a rpt_desc. Agrega una prueba para verificar que los valores de bLength y bNumDescriptors sean válidos. Reemplaza el bucle for con acceso directo al miembro descriptor de clase HID obligatorio para el descriptor de informe. Esto elimina la posibilidad de obtener un fallo fuera de los límites. Agrega un mensaje de advertencia si el descriptor HID contiene algún descriptor de clase HID opcional no compatible."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/hid/hid-hyperv.c",
            "drivers/hid/usbhid/hid-core.c",
            "drivers/usb/gadget/function/f_hid.c",
            "include/linux/hid.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "7a6d6b68db128da2078ccd9a751dfa3f75c9cf5b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "41827a2dbdd7880df9881506dee13bc88d4230bb",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "1df80d748f984290c895e843401824215dcfbfb0",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "a8f842534807985d3a676006d140541b87044345",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "4fa7831cf0ac71a0a345369d1a6084f2b096e55e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "74388368927e9c52a69524af5bbd6c55eb4690de",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "485e1b741eb838cbe1d6b0e81e5ab62ae6c095cf",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f043bfc98c193c284e2cd768fefabe18ac2fed9b",
              "lessThan": "fe7f7ac8e0c708446ff017453add769ffc15deed",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "99de0781e0de7c866f762b931351c2a501c3074f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "8d675aa967d3927ac100f7af48f2a2af8a041d2d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f4cf5d75416ae3d79e03179fe6f4b9f1231ae42c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "439f76690d7d5dd212ea7bebc1f2fa077e3d645d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2929cb995378205bceda86d6fd3cbc22e522f97f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "57265cddde308292af881ce634a5378dd4e25900",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "984154e7eef1f9e543dabd7422cfc99015778732",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3.2.95",
              "lessThan": "3.3",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "3.16.50",
              "lessThan": "3.17",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "3.18.76",
              "lessThan": "3.19",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "4.1.46",
              "lessThan": "4.2",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "4.4.93",
              "lessThan": "4.5",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "4.9.57",
              "lessThan": "4.10",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "4.13.8",
              "lessThan": "4.14",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/hid/hid-hyperv.c",
            "drivers/hid/usbhid/hid-core.c",
            "drivers/usb/gadget/function/f_hid.c",
            "include/linux/hid.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.14",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.14",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.4.295",
              "lessThanOrEqual": "5.4.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.239",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.186",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.142",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.94",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.34",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.15.3",
              "lessThanOrEqual": "6.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.16",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Primary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
          "baseScore": 7.1,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.2
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-11-05T20:49:35.266935Z",
          "id": "CVE-2025-38103",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-125"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "3.2.95",
              "versionEndExcluding": "3.3",
              "matchCriteriaId": "D0791B33-98B2-4081-91D6-F6E6C6342088"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "3.16.50",
              "versionEndExcluding": "3.17",
              "matchCriteriaId": "04CF39E5-B417-4D51-8790-B5A3C24CF085"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "3.18.76",
              "versionEndExcluding": "3.19",
              "matchCriteriaId": "6E54BCAA-9070-43EA-878A-AD7954A7DE75"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.1.46",
              "versionEndExcluding": "4.2",
              "matchCriteriaId": "FD7B43DB-D99B-4203-84D2-00416A5FC499"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.4.93",
              "versionEndExcluding": "4.5",
              "matchCriteriaId": "EC8F42DF-3C08-4280-8E68-34B675046381"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.9.57",
              "versionEndExcluding": "4.10",
              "matchCriteriaId": "A5F61411-B56B-4304-AD1B-786D158E0C1D"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.13.8",
              "versionEndExcluding": "4.14",
              "matchCriteriaId": "9472F170-B32F-4577-B190-908559FBB22D"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.14.1",
              "versionEndExcluding": "5.4.295",
              "matchCriteriaId": "3A426522-3B63-4E88-9E43-95315B102A8A"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "5.5",
              "versionEndExcluding": "5.10.239",
              "matchCriteriaId": "C3D14F4C-A21E-465D-A928-5CCE684E2B98"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "5.11",
              "versionEndExcluding": "5.15.186",
              "matchCriteriaId": "D96F2C0D-0D4A-4658-AD34-D8A626EA422D"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "5.16",
              "versionEndExcluding": "6.1.142",
              "matchCriteriaId": "459B4E94-FE0E-434D-B782-95E3A5FFC6B1"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.2",
              "versionEndExcluding": "6.6.94",
              "matchCriteriaId": "304E3F01-7D7A-4908-994E-7F95C5C00B06"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.7",
              "versionEndExcluding": "6.12.34",
              "matchCriteriaId": "4FFA54AA-CDFE-4591-BD07-72813D0948F4"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.13",
              "versionEndExcluding": "6.15.3",
              "matchCriteriaId": "0541C761-BD5E-4C1A-8432-83B375D7EB92"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:-:*:*:*:*:*:*",
              "matchCriteriaId": "7875AA30-1F6F-470C-A52D-ECBD6663CEC5"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:rc5:*:*:*:*:*:*",
              "matchCriteriaId": "4C9B8FA6-754F-42F5-98BC-410AF7DB9F4C"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:rc6:*:*:*:*:*:*",
              "matchCriteriaId": "EC8F8565-B401-4F3C-B423-51F371DCB908"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:rc7:*:*:*:*:*:*",
              "matchCriteriaId": "C834B5F2-810F-4291-8E1F-1B32635E08F3"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:4.14:rc8:*:*:*:*:*:*",
              "matchCriteriaId": "BB4A96BC-72CC-4EF1-916C-9ED7177C196E"
            }
          ]
        }
      ]
    },
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*",
              "matchCriteriaId": "FA6FEEC2-9F11-4643-8827-749718254FED"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/1df80d748f984290c895e843401824215dcfbfb0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/41827a2dbdd7880df9881506dee13bc88d4230bb",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/485e1b741eb838cbe1d6b0e81e5ab62ae6c095cf",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/4fa7831cf0ac71a0a345369d1a6084f2b096e55e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/74388368927e9c52a69524af5bbd6c55eb4690de",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/7a6d6b68db128da2078ccd9a751dfa3f75c9cf5b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/a8f842534807985d3a676006d140541b87044345",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/fe7f7ac8e0c708446ff017453add769ffc15deed",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html",
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Mailing List",
        "Third Party Advisory"
      ]
    },
    {
      "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html",
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Mailing List",
        "Third Party Advisory"
      ]
    }
  ]
}