CVE-2021-47040 (GCVE-0-2021-47040)

Vulnerability from cvelistv5 – Published: 2024-02-28 08:13 – Updated: 2026-08-05 08:45
VLAI
Title
io_uring: fix overflows checks in provide buffers
Summary
In the Linux kernel, the following vulnerability has been resolved: io_uring: fix overflows checks in provide buffers Colin reported before possible overflow and sign extension problems in io_provide_buffers_prep(). As Linus pointed out previous attempt did nothing useful, see d81269fecb8ce ("io_uring: fix provide_buffers sign extension"). Do that with help of check_<op>_overflow helpers. And fix struct io_provide_buf::len type, as it doesn't make much sense to keep it signed.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-09-10 15:57 UTC
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff , < cbbc13b115b8f18e0a714d89f87fbdc499acfe2d (git)
Affected: efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff , < 51bf90901952aaac564bbdb36b2b503050c53dd9 (git)
Affected: efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff , < 84b8c266c4bfe9ed5128e13253c388deb74b1b03 (git)
Affected: efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff , < 38134ada0ceea3e848fe993263c0ff6207fd46e7 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.8
Unaffected: 0 , < 5.8 (semver)
Unaffected: 5.10.37 , ≤ 5.10.* (semver)
Unaffected: 5.11.21 , ≤ 5.11.* (semver)
Unaffected: 5.12.4 , ≤ 5.12.* (semver)
Unaffected: 5.13 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:24:39.700Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-47040",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:57:48.348526Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:32:49.892Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/io_uring.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "cbbc13b115b8f18e0a714d89f87fbdc499acfe2d",
              "status": "affected",
              "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
              "versionType": "git"
            },
            {
              "lessThan": "51bf90901952aaac564bbdb36b2b503050c53dd9",
              "status": "affected",
              "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
              "versionType": "git"
            },
            {
              "lessThan": "84b8c266c4bfe9ed5128e13253c388deb74b1b03",
              "status": "affected",
              "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
              "versionType": "git"
            },
            {
              "lessThan": "38134ada0ceea3e848fe993263c0ff6207fd46e7",
              "status": "affected",
              "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/io_uring.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.8"
            },
            {
              "lessThan": "5.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.37",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.11.*",
              "status": "unaffected",
              "version": "5.11.21",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.4",
              "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": "5.10.37",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.11.21",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.12.4",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.13",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring: fix overflows checks in provide buffers\n\nColin reported before possible overflow and sign extension problems in\nio_provide_buffers_prep(). As Linus pointed out previous attempt did nothing\nuseful, see d81269fecb8ce (\"io_uring: fix provide_buffers sign extension\").\n\nDo that with help of check_\u003cop\u003e_overflow helpers. And fix struct\nio_provide_buf::len type, as it doesn\u0027t make much sense to keep it\nsigned."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only through local io_uring syscalls (io_uring_setup/io_uring_enter) submitting IORING_OP_PROVIDE_BUFFERS; it is not reachable from network packet processing.\nAC:L - The attacker fully controls sqe addr/len/nbufs and can reliably choose values that overflow len*nbufs (especially on 32-bit, e.g. size wrapping to 0) so the access_ok check validates far less than the registered range.\nPR:L - An unprivileged local user can create an io_uring instance and submit PROVIDE_BUFFERS with no capability requirement; the later io_uring_disabled sysctl did not exist in the affected versions.\nUI:N - Exploitation requires no victim action; the attacker triggers the bug entirely with their own io_uring submissions and subsequent BUFFER_SELECT I/O.\nS:U - Impact is limited to the local kernel\u0027s authority (local privilege escalation / memory safety), with no VM, IOMMU, or other security-authority boundary crossed.\nC:H - Overflow bypasses the sole access_ok validation for provided buffers that BUFFER_SELECT paths later trust, enabling registration of ranges that can include kernel addresses and yield arbitrary kernel memory disclosure when used for reads.\nI:H - The same access_ok bypass lets attacker-controlled provided-buffer addresses/lengths be used for kernel writes via BUFFER_SELECT recv/read paths, which is memory corruption exploitable for integrity compromise and code execution.\nA:H - Invalid provided-buffer ranges and signed-length mishandling can cause kernel faults, oopses, or otherwise crash/hang the system when the corrupted buffers are selected for I/O."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:45:40.950Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
        },
        {
          "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
        },
        {
          "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
        },
        {
          "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
        }
      ],
      "title": "io_uring: fix overflows checks in provide buffers",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-47040",
    "datePublished": "2024-02-28T08:13:46.557Z",
    "dateReserved": "2024-02-27T18:42:55.968Z",
    "dateUpdated": "2026-08-05T08:45:40.950Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2021-47040",
      "date": "2026-10-02",
      "epss": "0.00262",
      "percentile": "0.16345"
    },
    "fkie_nvd": {
      "configurations": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "CD2F1C00-3D81-452B-AE61-0B2C1A536A1D",
                  "versionEndExcluding": "5.10.37",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "8CBB94EC-EC33-4464-99C5-03E5542715F0",
                  "versionEndExcluding": "5.11.21",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "matchCriteriaId": "D8C7052F-1B7B-4327-9C2B-84EBF3243838",
                  "versionEndExcluding": "5.12.4",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring: fix overflows checks in provide buffers\n\nColin reported before possible overflow and sign extension problems in\nio_provide_buffers_prep(). As Linus pointed out previous attempt did nothing\nuseful, see d81269fecb8ce (\"io_uring: fix provide_buffers sign extension\").\n\nDo that with help of check_\u003cop\u003e_overflow helpers. And fix struct\nio_provide_buf::len type, as it doesn\u0027t make much sense to keep it\nsigned."
        },
        {
          "lang": "es",
          "value": "En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: io_uring: soluciona comprobaciones de desbordamiento en los buffers de suministro que Colin inform\u00f3 antes de posibles problemas de desbordamiento y extensi\u00f3n de firma en io_provide_buffers_prep(). Como Linus se\u00f1al\u00f3 que el intento anterior no hizo nada \u00fatil, consulte d81269fecb8ce (\"io_uring: corrige la extensi\u00f3n de signo provide_buffers\"). Haga esto con la ayuda de los ayudantes check__overflow. Y corrija el tipo struct io_provide_buf::len, ya que no tiene mucho sentido mantenerlo firmado."
        }
      ],
      "id": "CVE-2021-47040",
      "lastModified": "2025-01-09T15:29:49.397",
      "metrics": {
        "cvssMetricV31": [
          {
            "cvssData": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 7.8,
              "baseSeverity": "HIGH",
              "confidentialityImpact": "HIGH",
              "integrityImpact": "HIGH",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
              "version": "3.1"
            },
            "exploitabilityScore": 1.8,
            "impactScore": 5.9,
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      },
      "published": "2024-02-28T09:15:39.993",
      "references": [
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
        },
        {
          "source": "af854a3a-2127-422b-91ae-364da2661108",
          "tags": [
            "Patch"
          ],
          "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
        }
      ],
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Analyzed",
      "weaknesses": [
        {
          "description": [
            {
              "lang": "en",
              "value": "CWE-120"
            }
          ],
          "source": "nvd@nist.gov",
          "type": "Primary"
        }
      ]
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/io_uring.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "cbbc13b115b8f18e0a714d89f87fbdc499acfe2d",
                    "status": "affected",
                    "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "51bf90901952aaac564bbdb36b2b503050c53dd9",
                    "status": "affected",
                    "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "84b8c266c4bfe9ed5128e13253c388deb74b1b03",
                    "status": "affected",
                    "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "38134ada0ceea3e848fe993263c0ff6207fd46e7",
                    "status": "affected",
                    "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/io_uring.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.8"
                  },
                  {
                    "lessThan": "5.8",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.37",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.11.*",
                    "status": "unaffected",
                    "version": "5.11.21",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.12.*",
                    "status": "unaffected",
                    "version": "5.12.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "5.13",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "CD2F1C00-3D81-452B-AE61-0B2C1A536A1D",
                    "versionEndExcluding": "5.10.37",
                    "versionStartIncluding": "5.8",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "8CBB94EC-EC33-4464-99C5-03E5542715F0",
                    "versionEndExcluding": "5.11.21",
                    "versionStartIncluding": "5.11",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "D8C7052F-1B7B-4327-9C2B-84EBF3243838",
                    "versionEndExcluding": "5.12.4",
                    "versionStartIncluding": "5.12",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring: fix overflows checks in provide buffers\n\nColin reported before possible overflow and sign extension problems in\nio_provide_buffers_prep(). As Linus pointed out previous attempt did nothing\nuseful, see d81269fecb8ce (\"io_uring: fix provide_buffers sign extension\").\n\nDo that with help of check_\u003cop\u003e_overflow helpers. And fix struct\nio_provide_buf::len type, as it doesn\u0027t make much sense to keep it\nsigned."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: io_uring: soluciona comprobaciones de desbordamiento en los buffers de suministro que Colin inform\u00f3 antes de posibles problemas de desbordamiento y extensi\u00f3n de firma en io_provide_buffers_prep(). Como Linus se\u00f1al\u00f3 que el intento anterior no hizo nada \u00fatil, consulte d81269fecb8ce (\"io_uring: corrige la extensi\u00f3n de signo provide_buffers\"). Haga esto con la ayuda de los ayudantes check__overflow. Y corrija el tipo struct io_provide_buf::len, ya que no tiene mucho sentido mantenerlo firmado."
          }
        ],
        "id": "CVE-2021-47040",
        "lastModified": "2026-08-04T10:16:42.480",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2021-47040",
                "options": [
                  {
                    "exploitation": "none"
                  },
                  {
                    "automatable": "no"
                  },
                  {
                    "technicalImpact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:57:48.348526Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2024-02-28T09:15:39.993",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-120"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T20:05:28+00:00",
      "cve": "CVE-2021-47040",
      "id": "CVE-2021-47040",
      "initial_release_date": "2021-01-01T00:00:00+00:00",
      "product_status:known_affected": "42",
      "product_status:known_not_affected": "156",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: io_uring: fix overflows checks in provide buffers",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-47040.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-03T00:46:39Z",
      "cve": "CVE-2021-47040",
      "id": "CVE-2021-47040",
      "initial_release_date": "2024-03-02T05:48:55Z",
      "product_status:known_not_affected": "291",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2021-47040",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2021-47040.json",
      "version": "20"
    },
    "vulnrichment": {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-04T05:24:39.700Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
              }
            ],
            "title": "CVE Program Container"
          },
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2021-47040",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-09-10T15:57:48.348526Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2024-09-11T12:42:12.912Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/io_uring.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "cbbc13b115b8f18e0a714d89f87fbdc499acfe2d",
                  "status": "affected",
                  "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                  "versionType": "git"
                },
                {
                  "lessThan": "51bf90901952aaac564bbdb36b2b503050c53dd9",
                  "status": "affected",
                  "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                  "versionType": "git"
                },
                {
                  "lessThan": "84b8c266c4bfe9ed5128e13253c388deb74b1b03",
                  "status": "affected",
                  "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                  "versionType": "git"
                },
                {
                  "lessThan": "38134ada0ceea3e848fe993263c0ff6207fd46e7",
                  "status": "affected",
                  "version": "efe68c1ca8f49e8c06afd74b699411bfbb8ba1ff",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/io_uring.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.8"
                },
                {
                  "lessThan": "5.8",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.10.*",
                  "status": "unaffected",
                  "version": "5.10.37",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.11.*",
                  "status": "unaffected",
                  "version": "5.11.21",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.12.*",
                  "status": "unaffected",
                  "version": "5.12.4",
                  "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": "5.10.37",
                      "versionStartIncluding": "5.8",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.11.21",
                      "versionStartIncluding": "5.8",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.12.4",
                      "versionStartIncluding": "5.8",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.13",
                      "versionStartIncluding": "5.8",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring: fix overflows checks in provide buffers\n\nColin reported before possible overflow and sign extension problems in\nio_provide_buffers_prep(). As Linus pointed out previous attempt did nothing\nuseful, see d81269fecb8ce (\"io_uring: fix provide_buffers sign extension\").\n\nDo that with help of check_\u003cop\u003e_overflow helpers. And fix struct\nio_provide_buf::len type, as it doesn\u0027t make much sense to keep it\nsigned."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - The bug is reached only through local io_uring syscalls (io_uring_setup/io_uring_enter) submitting IORING_OP_PROVIDE_BUFFERS; it is not reachable from network packet processing.\nAC:L - The attacker fully controls sqe addr/len/nbufs and can reliably choose values that overflow len*nbufs (especially on 32-bit, e.g. size wrapping to 0) so the access_ok check validates far less than the registered range.\nPR:L - An unprivileged local user can create an io_uring instance and submit PROVIDE_BUFFERS with no capability requirement; the later io_uring_disabled sysctl did not exist in the affected versions.\nUI:N - Exploitation requires no victim action; the attacker triggers the bug entirely with their own io_uring submissions and subsequent BUFFER_SELECT I/O.\nS:U - Impact is limited to the local kernel\u0027s authority (local privilege escalation / memory safety), with no VM, IOMMU, or other security-authority boundary crossed.\nC:H - Overflow bypasses the sole access_ok validation for provided buffers that BUFFER_SELECT paths later trust, enabling registration of ranges that can include kernel addresses and yield arbitrary kernel memory disclosure when used for reads.\nI:H - The same access_ok bypass lets attacker-controlled provided-buffer addresses/lengths be used for kernel writes via BUFFER_SELECT recv/read paths, which is memory corruption exploitable for integrity compromise and code execution.\nA:H - Invalid provided-buffer ranges and signed-length mishandling can cause kernel faults, oopses, or otherwise crash/hang the system when the corrupted buffers are selected for I/O."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-05T08:45:40.950Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/cbbc13b115b8f18e0a714d89f87fbdc499acfe2d"
            },
            {
              "url": "https://git.kernel.org/stable/c/51bf90901952aaac564bbdb36b2b503050c53dd9"
            },
            {
              "url": "https://git.kernel.org/stable/c/84b8c266c4bfe9ed5128e13253c388deb74b1b03"
            },
            {
              "url": "https://git.kernel.org/stable/c/38134ada0ceea3e848fe993263c0ff6207fd46e7"
            }
          ],
          "title": "io_uring: fix overflows checks in provide buffers",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2021-47040",
        "datePublished": "2024-02-28T08:13:46.557Z",
        "dateReserved": "2024-02-27T18:42:55.968Z",
        "dateUpdated": "2026-08-05T08:45:40.950Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



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…

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…