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

CVE-2022-50234 (GCVE-0-2022-50234)

Vulnerability from cvelistv5 – Published: 2025-09-15 14:01 – Updated: 2026-08-05 08:57
VLAI
Title
io_uring/af_unix: defer registered files gc to io_uring release
Summary
In the Linux kernel, the following vulnerability has been resolved: io_uring/af_unix: defer registered files gc to io_uring release Instead of putting io_uring's registered files in unix_gc() we want it to be done by io_uring itself. The trick here is to consider io_uring registered files for cycle detection but not actually putting them down. Because io_uring can't register other ring instances, this will remove all refs to the ring file triggering the ->release path and clean up with io_ring_ctx_free(). [axboe: add kerneldoc comment to skb, fold in skb leak fix]
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 6b06314c47e141031be043539900d80d2c7ba10f , < 04df9719df1865f6770af9bc7880874af0e594b2 (git)
Affected: 6b06314c47e141031be043539900d80d2c7ba10f , < c378c479c5175833bb22ff71974cda47d7b05401 (git)
Affected: 6b06314c47e141031be043539900d80d2c7ba10f , < 813d8fe5d30388f73a21d3a2bf46b0a1fd72498c (git)
Affected: 6b06314c47e141031be043539900d80d2c7ba10f , < b4293c01ee0d0ecdd3cb5801e13f62271144667a (git)
Affected: 6b06314c47e141031be043539900d80d2c7ba10f , < 75e94c7e8859e58aadc15a98cc9704edff47d4f2 (git)
Affected: 6b06314c47e141031be043539900d80d2c7ba10f , < 0091bfc81741b8d3aeb3b7ab8636f911b2de6e80 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.1
Unaffected: 0 , < 5.1 (semver)
Unaffected: 5.4.220 , ≤ 5.4.* (semver)
Unaffected: 5.10.150 , ≤ 5.10.* (semver)
Unaffected: 5.15.75 , ≤ 5.15.* (semver)
Unaffected: 5.19.17 , ≤ 5.19.* (semver)
Unaffected: 6.0.3 , ≤ 6.0.* (semver)
Unaffected: 6.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/linux/skbuff.h",
            "io_uring/rsrc.c",
            "net/unix/garbage.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "04df9719df1865f6770af9bc7880874af0e594b2",
              "status": "affected",
              "version": "6b06314c47e141031be043539900d80d2c7ba10f",
              "versionType": "git"
            },
            {
              "lessThan": "c378c479c5175833bb22ff71974cda47d7b05401",
              "status": "affected",
              "version": "6b06314c47e141031be043539900d80d2c7ba10f",
              "versionType": "git"
            },
            {
              "lessThan": "813d8fe5d30388f73a21d3a2bf46b0a1fd72498c",
              "status": "affected",
              "version": "6b06314c47e141031be043539900d80d2c7ba10f",
              "versionType": "git"
            },
            {
              "lessThan": "b4293c01ee0d0ecdd3cb5801e13f62271144667a",
              "status": "affected",
              "version": "6b06314c47e141031be043539900d80d2c7ba10f",
              "versionType": "git"
            },
            {
              "lessThan": "75e94c7e8859e58aadc15a98cc9704edff47d4f2",
              "status": "affected",
              "version": "6b06314c47e141031be043539900d80d2c7ba10f",
              "versionType": "git"
            },
            {
              "lessThan": "0091bfc81741b8d3aeb3b7ab8636f911b2de6e80",
              "status": "affected",
              "version": "6b06314c47e141031be043539900d80d2c7ba10f",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/linux/skbuff.h",
            "io_uring/rsrc.c",
            "net/unix/garbage.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.1"
            },
            {
              "lessThan": "5.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.220",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.150",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.75",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.17",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.220",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.150",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.75",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.17",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.3",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring/af_unix: defer registered files gc to io_uring release\n\nInstead of putting io_uring\u0027s registered files in unix_gc() we want it\nto be done by io_uring itself. The trick here is to consider io_uring\nregistered files for cycle detection but not actually putting them down.\nBecause io_uring can\u0027t register other ring instances, this will remove\nall refs to the ring file triggering the -\u003erelease path and clean up\nwith io_ring_ctx_free().\n\n[axboe: add kerneldoc comment to skb, fold in skb leak fix]"
        }
      ],
      "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/register/enter) combined with AF_UNIX SCM_RIGHTS cycle construction; it is not reachable via network packets or a remote protocol parser.\nAC:L - The attacker fully controls both sides of the race\u2014stalling the in-flight io_uring request (userfaultfd/FUSE/inode lock) and triggering unix_gc via crafted inflight cycles\u2014so success does not depend on conditions outside their influence; public exploits demonstrate reliable triggering.\nPR:L - io_uring_setup, IORING_REGISTER_FILES, and AF_UNIX socket operations require only an unprivileged local account with no capabilities; the vulnerable kernels had no io_uring_disabled gate.\nUI:N - The attacker drives the entire sequence (ring setup, file registration, cycle creation, stalled request, and GC trigger) themselves with no action required from another user.\nS:U - This is a host-kernel use-after-free of struct file enabling local privilege escalation within the same kernel authority; it is not a VM escape, IOMMU bypass, or other cross-boundary compromise.\nC:H - The UAF leaves a dangling struct file pointer reclaimable via heap spray (DirtyCred), giving the attacker control over file object contents and enabling arbitrary file/credential disclosure primitives.\nI:H - Replacing the freed writable file with a privileged read-only file (e.g. /etc/passwd) after permission checks allows arbitrary file writes and reliable local privilege escalation, as shown by public exploits.\nA:H - Use of the dangling registered-file pointer after unix_gc frees it causes kernel oops/panic even without a full exploit, so availability impact is high."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:57:50.462Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/04df9719df1865f6770af9bc7880874af0e594b2"
        },
        {
          "url": "https://git.kernel.org/stable/c/c378c479c5175833bb22ff71974cda47d7b05401"
        },
        {
          "url": "https://git.kernel.org/stable/c/813d8fe5d30388f73a21d3a2bf46b0a1fd72498c"
        },
        {
          "url": "https://git.kernel.org/stable/c/b4293c01ee0d0ecdd3cb5801e13f62271144667a"
        },
        {
          "url": "https://git.kernel.org/stable/c/75e94c7e8859e58aadc15a98cc9704edff47d4f2"
        },
        {
          "url": "https://git.kernel.org/stable/c/0091bfc81741b8d3aeb3b7ab8636f911b2de6e80"
        }
      ],
      "title": "io_uring/af_unix: defer registered files gc to io_uring release",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50234",
    "datePublished": "2025-09-15T14:01:38.199Z",
    "dateReserved": "2025-06-18T10:57:27.432Z",
    "dateUpdated": "2026-08-05T08:57:50.462Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50234",
      "date": "2026-09-19",
      "epss": "0.00164",
      "percentile": "0.06107"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "include/linux/skbuff.h",
                  "io_uring/rsrc.c",
                  "net/unix/garbage.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "04df9719df1865f6770af9bc7880874af0e594b2",
                    "status": "affected",
                    "version": "6b06314c47e141031be043539900d80d2c7ba10f",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c378c479c5175833bb22ff71974cda47d7b05401",
                    "status": "affected",
                    "version": "6b06314c47e141031be043539900d80d2c7ba10f",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "813d8fe5d30388f73a21d3a2bf46b0a1fd72498c",
                    "status": "affected",
                    "version": "6b06314c47e141031be043539900d80d2c7ba10f",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "b4293c01ee0d0ecdd3cb5801e13f62271144667a",
                    "status": "affected",
                    "version": "6b06314c47e141031be043539900d80d2c7ba10f",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "75e94c7e8859e58aadc15a98cc9704edff47d4f2",
                    "status": "affected",
                    "version": "6b06314c47e141031be043539900d80d2c7ba10f",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "0091bfc81741b8d3aeb3b7ab8636f911b2de6e80",
                    "status": "affected",
                    "version": "6b06314c47e141031be043539900d80d2c7ba10f",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "include/linux/skbuff.h",
                  "io_uring/rsrc.c",
                  "net/unix/garbage.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.1"
                  },
                  {
                    "lessThan": "5.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.4.*",
                    "status": "unaffected",
                    "version": "5.4.220",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.150",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.75",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.19.*",
                    "status": "unaffected",
                    "version": "5.19.17",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.0.*",
                    "status": "unaffected",
                    "version": "6.0.3",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "7ABF38E7-717B-453B-92AE-5285B631B845",
                    "versionEndExcluding": "5.4.220",
                    "versionStartIncluding": "5.1",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "C495821C-2A71-4F09-BED8-6A6EB4C9BA27",
                    "versionEndExcluding": "5.10.150",
                    "versionStartIncluding": "5.5",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "6D945F46-F32F-4C09-8400-C3477E22A9FB",
                    "versionEndExcluding": "5.15.75",
                    "versionStartIncluding": "5.11",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "19B4C3A4-E5C3-41DC-BB14-BE72858E7D35",
                    "versionEndExcluding": "5.19.17",
                    "versionStartIncluding": "5.16",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "5BCD8201-B847-4442-B894-70D430128DEF",
                    "versionEndExcluding": "6.0.3",
                    "versionStartIncluding": "6.0",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring/af_unix: defer registered files gc to io_uring release\n\nInstead of putting io_uring\u0027s registered files in unix_gc() we want it\nto be done by io_uring itself. The trick here is to consider io_uring\nregistered files for cycle detection but not actually putting them down.\nBecause io_uring can\u0027t register other ring instances, this will remove\nall refs to the ring file triggering the -\u003erelease path and clean up\nwith io_ring_ctx_free().\n\n[axboe: add kerneldoc comment to skb, fold in skb leak fix]"
          }
        ],
        "id": "CVE-2022-50234",
        "lastModified": "2026-08-04T10:18:08.240",
        "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"
            }
          ]
        },
        "published": "2025-09-15T14:15:33.727",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/0091bfc81741b8d3aeb3b7ab8636f911b2de6e80"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/04df9719df1865f6770af9bc7880874af0e594b2"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/75e94c7e8859e58aadc15a98cc9704edff47d4f2"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/813d8fe5d30388f73a21d3a2bf46b0a1fd72498c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/b4293c01ee0d0ecdd3cb5801e13f62271144667a"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/c378c479c5175833bb22ff71974cda47d7b05401"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T19:21:35+00:00",
      "cve": "CVE-2022-50234",
      "id": "CVE-2022-50234",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel: Denial of Service due to improper io_uring/af_unix file cleanup",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50234.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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

Sightings

Author Source Type Date Other

Nomenclature

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

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

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


Loading…