CVE-2024-41035 (GCVE-0-2024-41035)
Vulnerability from cvelistv5
Published
2024-07-29 14:31
Modified
2025-11-03 21:59
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor Syzbot has identified a bug in usbcore (see the Closes: tag below) caused by our assumption that the reserved bits in an endpoint descriptor's bEndpointAddress field will always be 0. As a result of the bug, the endpoint_is_duplicate() routine in config.c (and possibly other routines as well) may believe that two descriptors are for distinct endpoints, even though they have the same direction and endpoint number. This can lead to confusion, including the bug identified by syzbot (two descriptors with matching endpoint numbers and directions, where one was interrupt and the other was bulk). To fix the bug, we will clear the reserved bits in bEndpointAddress when we parse the descriptor. (Note that both the USB-2.0 and USB-3.1 specs say these bits are "Reserved, reset to zero".) This requires us to make a copy of the descriptor earlier in usb_parse_endpoint() and use the copy instead of the original when checking for duplicates.
Impacted products
Vendor Product Version
Linux Linux Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: 0a8fd1346254974c3a852338508e4a4cddbb35f1
Version: c3726b442527ab31c7110d0445411f5b5343db01
Version: 15668b4354b38b41b316571deed2763d631b2977
Version: 8597a9245181656ae2ef341906e5f40af323fbca
Version: 264024a2676ba7d91fe7b1713b2c32d1b0b508cb
Version: b0de742a1be16b76b534d088682f18cf57f012d2
Version: 7cc00abef071a8a7d0f4457b7afa2f57f683d83f
Version: 05b0f2fc3c2f9efda47439557e0d51faca7e43ed
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T21:59:32.228Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/d8418fd083d1b90a6c007cf8dcf81aeae274727b"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/60abea505b726b38232a0ef410d2bd1994a77f78"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/d09dd21bb5215d583ca9a1cb1464dbc77a7e88cf"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/2bd8534a1b83c65702aec3cab164170f8e584188"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/9edcf317620d7c6a8354911b69b874cf89716646"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/647d61aef106dbed9c70447bcddbd4968e67ca64"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/37514a5c1251a8c5c95c323f55050736e7069ac7"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a368ecde8a5055b627749b09c6218ef793043e47"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-41035",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:23:33.705561Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:03.568Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/core/config.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d8418fd083d1b90a6c007cf8dcf81aeae274727b",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "lessThan": "60abea505b726b38232a0ef410d2bd1994a77f78",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "lessThan": "d09dd21bb5215d583ca9a1cb1464dbc77a7e88cf",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "lessThan": "2bd8534a1b83c65702aec3cab164170f8e584188",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "lessThan": "9edcf317620d7c6a8354911b69b874cf89716646",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "lessThan": "647d61aef106dbed9c70447bcddbd4968e67ca64",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "lessThan": "37514a5c1251a8c5c95c323f55050736e7069ac7",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "lessThan": "a368ecde8a5055b627749b09c6218ef793043e47",
              "status": "affected",
              "version": "0a8fd1346254974c3a852338508e4a4cddbb35f1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "c3726b442527ab31c7110d0445411f5b5343db01",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "15668b4354b38b41b316571deed2763d631b2977",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "8597a9245181656ae2ef341906e5f40af323fbca",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "264024a2676ba7d91fe7b1713b2c32d1b0b508cb",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b0de742a1be16b76b534d088682f18cf57f012d2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7cc00abef071a8a7d0f4457b7afa2f57f683d83f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "05b0f2fc3c2f9efda47439557e0d51faca7e43ed",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/core/config.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.10"
            },
            {
              "lessThan": "4.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.318",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.280",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.222",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.163",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.100",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.41",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.10",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.318",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.280",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.222",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.163",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.100",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.41",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.9.10",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10",
                  "versionStartIncluding": "4.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "3.2.87",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "3.10.106",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "3.12.70",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "3.16.42",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.1.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.4.42",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.9.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor\n\nSyzbot has identified a bug in usbcore (see the Closes: tag below)\ncaused by our assumption that the reserved bits in an endpoint\ndescriptor\u0027s bEndpointAddress field will always be 0.  As a result of\nthe bug, the endpoint_is_duplicate() routine in config.c (and possibly\nother routines as well) may believe that two descriptors are for\ndistinct endpoints, even though they have the same direction and\nendpoint number.  This can lead to confusion, including the bug\nidentified by syzbot (two descriptors with matching endpoint numbers\nand directions, where one was interrupt and the other was bulk).\n\nTo fix the bug, we will clear the reserved bits in bEndpointAddress\nwhen we parse the descriptor.  (Note that both the USB-2.0 and USB-3.1\nspecs say these bits are \"Reserved, reset to zero\".)  This requires us\nto make a copy of the descriptor earlier in usb_parse_endpoint() and\nuse the copy instead of the original when checking for duplicates."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-04T12:57:27.395Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d8418fd083d1b90a6c007cf8dcf81aeae274727b"
        },
        {
          "url": "https://git.kernel.org/stable/c/60abea505b726b38232a0ef410d2bd1994a77f78"
        },
        {
          "url": "https://git.kernel.org/stable/c/d09dd21bb5215d583ca9a1cb1464dbc77a7e88cf"
        },
        {
          "url": "https://git.kernel.org/stable/c/2bd8534a1b83c65702aec3cab164170f8e584188"
        },
        {
          "url": "https://git.kernel.org/stable/c/9edcf317620d7c6a8354911b69b874cf89716646"
        },
        {
          "url": "https://git.kernel.org/stable/c/647d61aef106dbed9c70447bcddbd4968e67ca64"
        },
        {
          "url": "https://git.kernel.org/stable/c/37514a5c1251a8c5c95c323f55050736e7069ac7"
        },
        {
          "url": "https://git.kernel.org/stable/c/a368ecde8a5055b627749b09c6218ef793043e47"
        }
      ],
      "title": "USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-41035",
    "datePublished": "2024-07-29T14:31:49.876Z",
    "dateReserved": "2024-07-12T12:17:45.619Z",
    "dateUpdated": "2025-11-03T21:59:32.228Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"cna\": {\"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2024-07-29T14:31:49.876Z\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nUSB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor\\n\\nSyzbot has identified a bug in usbcore (see the Closes: tag below)\\ncaused by our assumption that the reserved bits in an endpoint\\ndescriptor\u0027s bEndpointAddress field will always be 0.  As a result of\\nthe bug, the endpoint_is_duplicate() routine in config.c (and possibly\\nother routines as well) may believe that two descriptors are for\\ndistinct endpoints, even though they have the same direction and\\nendpoint number.  This can lead to confusion, including the bug\\nidentified by syzbot (two descriptors with matching endpoint numbers\\nand directions, where one was interrupt and the other was bulk).\\n\\nTo fix the bug, we will clear the reserved bits in bEndpointAddress\\nwhen we parse the descriptor.  (Note that both the USB-2.0 and USB-3.1\\nspecs say these bits are \\\"Reserved, reset to zero\\\".)  This requires us\\nto make a copy of the descriptor earlier in usb_parse_endpoint() and\\nuse the copy instead of the original when checking for duplicates.\"}], \"affected\": [{\"product\": \"Linux\", \"vendor\": \"Linux\", \"defaultStatus\": \"unaffected\", \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"programFiles\": [\"drivers/usb/core/config.c\"], \"versions\": [{\"version\": \"0a8fd1346254\", \"lessThan\": \"d8418fd083d1\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0a8fd1346254\", \"lessThan\": \"60abea505b72\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0a8fd1346254\", \"lessThan\": \"d09dd21bb521\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0a8fd1346254\", \"lessThan\": \"2bd8534a1b83\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0a8fd1346254\", \"lessThan\": \"9edcf317620d\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0a8fd1346254\", \"lessThan\": \"647d61aef106\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0a8fd1346254\", \"lessThan\": \"37514a5c1251\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0a8fd1346254\", \"lessThan\": \"a368ecde8a50\", \"status\": \"affected\", \"versionType\": \"git\"}]}, {\"product\": \"Linux\", \"vendor\": \"Linux\", \"defaultStatus\": \"affected\", \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"programFiles\": [\"drivers/usb/core/config.c\"], \"versions\": [{\"version\": \"4.10\", \"status\": \"affected\"}, {\"version\": \"0\", \"lessThan\": \"4.10\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"4.19.318\", \"lessThanOrEqual\": \"4.19.*\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"5.4.280\", \"lessThanOrEqual\": \"5.4.*\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"5.10.222\", \"lessThanOrEqual\": \"5.10.*\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"5.15.163\", \"lessThanOrEqual\": \"5.15.*\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"6.1.100\", \"lessThanOrEqual\": \"6.1.*\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"6.6.41\", \"lessThanOrEqual\": \"6.6.*\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"6.9.10\", \"lessThanOrEqual\": \"6.9.*\", \"status\": \"unaffected\", \"versionType\": \"custom\"}, {\"version\": \"6.10\", \"lessThanOrEqual\": \"*\", \"status\": \"unaffected\", \"versionType\": \"original_commit_for_fix\"}]}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/d8418fd083d1b90a6c007cf8dcf81aeae274727b\"}, {\"url\": \"https://git.kernel.org/stable/c/60abea505b726b38232a0ef410d2bd1994a77f78\"}, {\"url\": \"https://git.kernel.org/stable/c/d09dd21bb5215d583ca9a1cb1464dbc77a7e88cf\"}, {\"url\": \"https://git.kernel.org/stable/c/2bd8534a1b83c65702aec3cab164170f8e584188\"}, {\"url\": \"https://git.kernel.org/stable/c/9edcf317620d7c6a8354911b69b874cf89716646\"}, {\"url\": \"https://git.kernel.org/stable/c/647d61aef106dbed9c70447bcddbd4968e67ca64\"}, {\"url\": \"https://git.kernel.org/stable/c/37514a5c1251a8c5c95c323f55050736e7069ac7\"}, {\"url\": \"https://git.kernel.org/stable/c/a368ecde8a5055b627749b09c6218ef793043e47\"}], \"title\": \"USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor\", \"x_generator\": {\"engine\": \"bippy-c9c4e1df01b2\"}}, \"adp\": [{\"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-41035\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T16:23:33.705561Z\"}}}], \"providerMetadata\": {\"shortName\": \"CISA-ADP\", \"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"dateUpdated\": \"2024-09-11T12:42:20.409Z\"}, \"title\": \"CISA ADP Vulnrichment\"}]}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-41035\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"state\": \"PUBLISHED\", \"assignerShortName\": \"Linux\", \"dateReserved\": \"2024-07-12T12:17:45.619Z\", \"datePublished\": \"2024-07-29T14:31:49.876Z\", \"dateUpdated\": \"2024-08-02T04:39:56.166Z\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…