CVE-2021-47170 (GCVE-0-2021-47170)
Vulnerability from cvelistv5
Published
2024-03-25 09:16
Modified
2025-12-18 11:35
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: USB: usbfs: Don't WARN about excessively large memory allocations Syzbot found that the kernel generates a WARNing if the user tries to submit a bulk transfer through usbfs with a buffer that is way too large. This isn't a bug in the kernel; it's merely an invalid request from the user and the usbfs code does handle it correctly. In theory the same thing can happen with async transfers, or with the packet descriptor table for isochronous transfers. To prevent the MM subsystem from complaining about these bad allocation requests, add the __GFP_NOWARN flag to the kmalloc calls for these buffers.
Impacted products
Vendor Product Version
Linux Linux Version: add1aaeabe6b08ed26381a2a06e505b2f09c3ba5
Version: add1aaeabe6b08ed26381a2a06e505b2f09c3ba5
Version: add1aaeabe6b08ed26381a2a06e505b2f09c3ba5
Version: add1aaeabe6b08ed26381a2a06e505b2f09c3ba5
Version: add1aaeabe6b08ed26381a2a06e505b2f09c3ba5
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:24:40.234Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/2ab21d6e1411999b5fb43434f421f00bf50002eb"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/2c835fede13e03f2743a333e4370b5ed2db91e83"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/8d83f109e920d2776991fa142bb904d985dca2ed"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/9f7cb3f01a10d9064cf13b3d26fb7e7a5827d098"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/4f2629ea67e7225c3fd292c7fe4f5b3c9d6392de"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-47170",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:54:31.690189Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:51.941Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/core/devio.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "2ab21d6e1411999b5fb43434f421f00bf50002eb",
              "status": "affected",
              "version": "add1aaeabe6b08ed26381a2a06e505b2f09c3ba5",
              "versionType": "git"
            },
            {
              "lessThan": "2c835fede13e03f2743a333e4370b5ed2db91e83",
              "status": "affected",
              "version": "add1aaeabe6b08ed26381a2a06e505b2f09c3ba5",
              "versionType": "git"
            },
            {
              "lessThan": "8d83f109e920d2776991fa142bb904d985dca2ed",
              "status": "affected",
              "version": "add1aaeabe6b08ed26381a2a06e505b2f09c3ba5",
              "versionType": "git"
            },
            {
              "lessThan": "9f7cb3f01a10d9064cf13b3d26fb7e7a5827d098",
              "status": "affected",
              "version": "add1aaeabe6b08ed26381a2a06e505b2f09c3ba5",
              "versionType": "git"
            },
            {
              "lessThan": "4f2629ea67e7225c3fd292c7fe4f5b3c9d6392de",
              "status": "affected",
              "version": "add1aaeabe6b08ed26381a2a06e505b2f09c3ba5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/core/devio.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.3"
            },
            {
              "lessThan": "3.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.193",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.124",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.193",
                  "versionStartIncluding": "3.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.124",
                  "versionStartIncluding": "3.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.42",
                  "versionStartIncluding": "3.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.12.9",
                  "versionStartIncluding": "3.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.13",
                  "versionStartIncluding": "3.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: usbfs: Don\u0027t WARN about excessively large memory allocations\n\nSyzbot found that the kernel generates a WARNing if the user tries to\nsubmit a bulk transfer through usbfs with a buffer that is way too\nlarge.  This isn\u0027t a bug in the kernel; it\u0027s merely an invalid request\nfrom the user and the usbfs code does handle it correctly.\n\nIn theory the same thing can happen with async transfers, or with the\npacket descriptor table for isochronous transfers.\n\nTo prevent the MM subsystem from complaining about these bad\nallocation requests, add the __GFP_NOWARN flag to the kmalloc calls\nfor these buffers."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-12-18T11:35:47.627Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/2ab21d6e1411999b5fb43434f421f00bf50002eb"
        },
        {
          "url": "https://git.kernel.org/stable/c/2c835fede13e03f2743a333e4370b5ed2db91e83"
        },
        {
          "url": "https://git.kernel.org/stable/c/8d83f109e920d2776991fa142bb904d985dca2ed"
        },
        {
          "url": "https://git.kernel.org/stable/c/9f7cb3f01a10d9064cf13b3d26fb7e7a5827d098"
        },
        {
          "url": "https://git.kernel.org/stable/c/4f2629ea67e7225c3fd292c7fe4f5b3c9d6392de"
        }
      ],
      "title": "USB: usbfs: Don\u0027t WARN about excessively large memory allocations",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-47170",
    "datePublished": "2024-03-25T09:16:22.313Z",
    "dateReserved": "2024-03-25T09:12:14.111Z",
    "dateUpdated": "2025-12-18T11:35:47.627Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/2ab21d6e1411999b5fb43434f421f00bf50002eb\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/2c835fede13e03f2743a333e4370b5ed2db91e83\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/8d83f109e920d2776991fa142bb904d985dca2ed\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/9f7cb3f01a10d9064cf13b3d26fb7e7a5827d098\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/4f2629ea67e7225c3fd292c7fe4f5b3c9d6392de\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-04T05:24:40.234Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2021-47170\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T15:54:31.690189Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:19.293Z\"}}], \"cna\": {\"title\": \"USB: usbfs: Don\u0027t WARN about excessively large memory allocations\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"add1aaeabe6b08ed26381a2a06e505b2f09c3ba5\", \"lessThan\": \"2ab21d6e1411999b5fb43434f421f00bf50002eb\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"add1aaeabe6b08ed26381a2a06e505b2f09c3ba5\", \"lessThan\": \"2c835fede13e03f2743a333e4370b5ed2db91e83\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"add1aaeabe6b08ed26381a2a06e505b2f09c3ba5\", \"lessThan\": \"8d83f109e920d2776991fa142bb904d985dca2ed\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"add1aaeabe6b08ed26381a2a06e505b2f09c3ba5\", \"lessThan\": \"9f7cb3f01a10d9064cf13b3d26fb7e7a5827d098\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"add1aaeabe6b08ed26381a2a06e505b2f09c3ba5\", \"lessThan\": \"4f2629ea67e7225c3fd292c7fe4f5b3c9d6392de\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/usb/core/devio.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"3.3\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"3.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.193\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.124\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.42\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.12.9\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.12.*\"}, {\"status\": \"unaffected\", \"version\": \"5.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/usb/core/devio.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/2ab21d6e1411999b5fb43434f421f00bf50002eb\"}, {\"url\": \"https://git.kernel.org/stable/c/2c835fede13e03f2743a333e4370b5ed2db91e83\"}, {\"url\": \"https://git.kernel.org/stable/c/8d83f109e920d2776991fa142bb904d985dca2ed\"}, {\"url\": \"https://git.kernel.org/stable/c/9f7cb3f01a10d9064cf13b3d26fb7e7a5827d098\"}, {\"url\": \"https://git.kernel.org/stable/c/4f2629ea67e7225c3fd292c7fe4f5b3c9d6392de\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nUSB: usbfs: Don\u0027t WARN about excessively large memory allocations\\n\\nSyzbot found that the kernel generates a WARNing if the user tries to\\nsubmit a bulk transfer through usbfs with a buffer that is way too\\nlarge.  This isn\u0027t a bug in the kernel; it\u0027s merely an invalid request\\nfrom the user and the usbfs code does handle it correctly.\\n\\nIn theory the same thing can happen with async transfers, or with the\\npacket descriptor table for isochronous transfers.\\n\\nTo prevent the MM subsystem from complaining about these bad\\nallocation requests, add the __GFP_NOWARN flag to the kmalloc calls\\nfor these buffers.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.193\", \"versionStartIncluding\": \"3.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.124\", \"versionStartIncluding\": \"3.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.42\", \"versionStartIncluding\": \"3.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.12.9\", \"versionStartIncluding\": \"3.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.13\", \"versionStartIncluding\": \"3.3\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-12-18T11:35:47.627Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2021-47170\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-12-18T11:35:47.627Z\", \"dateReserved\": \"2024-03-25T09:12:14.111Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-03-25T09:16:22.313Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


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…