{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2022-50202",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2022-50202",
    "idYear": 2022,
    "status": "PUBLISHED",
    "publishedAt": "2025-06-18T11:03:43.874Z",
    "updatedAt": "2026-05-11T19:14:45.969Z",
    "importedAt": "2026-10-24T01:56:49.724Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "PM: hibernate: defer device probing when resuming from hibernation",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nPM: hibernate: defer device probing when resuming from hibernation\n\nsyzbot is reporting hung task at misc_open() [1], for there is a race\nwindow of AB-BA deadlock which involves probe_count variable. Currently\nwait_for_device_probe() from snapshot_open() from misc_open() can sleep\nforever with misc_mtx held if probe_count cannot become 0.\n\nWhen a device is probed by hub_event() work function, probe_count is\nincremented before the probe function starts, and probe_count is\ndecremented after the probe function completed.\n\nThere are three cases that can prevent probe_count from dropping to 0.\n\n  (a) A device being probed stopped responding (i.e. broken/malicious\n      hardware).\n\n  (b) A process emulating a USB device using /dev/raw-gadget interface\n      stopped responding for some reason.\n\n  (c) New device probe requests keeps coming in before existing device\n      probe requests complete.\n\nThe phenomenon syzbot is reporting is (b). A process which is holding\nsystem_transition_mutex and misc_mtx is waiting for probe_count to become\n0 inside wait_for_device_probe(), but the probe function which is called\n from hub_event() work function is waiting for the processes which are\nblocked at mutex_lock(&misc_mtx) to respond via /dev/raw-gadget interface.\n\nThis patch mitigates (b) by deferring wait_for_device_probe() from\nsnapshot_open() to snapshot_write() and snapshot_ioctl(). Please note that\nthe possibility of (b) remains as long as any thread which is emulating a\nUSB device via /dev/raw-gadget interface can be blocked by uninterruptible\nblocking operations (e.g. mutex_lock()).\n\nPlease also note that (a) and (c) are not addressed. Regarding (c), we\nshould change the code to wait for only one device which contains the\nimage for resuming from hibernation. I don't know how to address (a), for\nuse of timeout for wait_for_device_probe() might result in loss of user\ndata in the image. Maybe we should require the userland to wait for the\nimage device before opening /dev/snapshot interface.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "8c90947e5f1801e6c7120021c6ea0f3ad6a4eb91"
            },
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "5a283b59bce72c05c60e9f0fa92a28b5b850d8bb"
            },
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "3c48d3067eaf878642276f053575a5c642600a50"
            },
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "003a456ae6f70bb97e436e02fc5105be577c1570"
            },
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "2f0e18e0db42f4f8bc87d3d98333680065ceeff8"
            },
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "b8e1ae9433d7bd95f2dcc044a7a6f20a4c40d258"
            },
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "f7042cf9dd40733f387b7cac021e626c74b8856f"
            },
            {
              "version": "c751085943362143f84346d274e0011419c84202",
              "status": "affected",
              "versionType": "git",
              "lessThan": "8386c414e27caba8501119948e9551e52b527f59"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "2.6.30",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "2.6.30"
            },
            {
              "version": "4.14.291",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "4.14.*"
            },
            {
              "version": "4.19.256",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "4.19.*"
            },
            {
              "version": "5.4.211",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "version": "5.10.137",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.61",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "5.18.18",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.18.*"
            },
            {
              "version": "5.19.2",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.19.*"
            },
            {
              "version": "6.0",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}