CVE-2022-49733 (GCVE-0-2022-49733)
Vulnerability from cvelistv5
Published
2025-03-02 14:30
Modified
2026-08-05 08:56
Summary
In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC There is a small race window at snd_pcm_oss_sync() that is called from OSS PCM SNDCTL_DSP_SYNC ioctl; namely the function calls snd_pcm_oss_make_ready() at first, then takes the params_lock mutex for the rest. When the stream is set up again by another thread between them, it leads to inconsistency, and may result in unexpected results such as NULL dereference of OSS buffer as a fuzzer spotted recently. The fix is simply to cover snd_pcm_oss_make_ready() call into the same params_lock mutex with snd_pcm_oss_make_ready_locked() variant.
Impacted products
Vendor Product Version
Linux Linux Version: e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43
Version: e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43
Version: e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43
Version: e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43
Version: e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "HIGH",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 4.7,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2022-49733",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T19:28:32.574856Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-476",
                "description": "CWE-476 NULL Pointer Dereference",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T19:36:38.398Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "sound/core/oss/pcm_oss.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "4051324a6dafd7053c74c475e80b3ba10ae672b0",
              "status": "affected",
              "version": "e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43",
              "versionType": "git"
            },
            {
              "lessThan": "fce793a056c604b41a298317cf704dae255f1b36",
              "status": "affected",
              "version": "e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43",
              "versionType": "git"
            },
            {
              "lessThan": "8015ef9e8a0ee5cecfd0cb6805834d007ab26f86",
              "status": "affected",
              "version": "e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43",
              "versionType": "git"
            },
            {
              "lessThan": "723ac5ab2891b6c10dd6cc78ef5456af593490eb",
              "status": "affected",
              "version": "e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43",
              "versionType": "git"
            },
            {
              "lessThan": "8423f0b6d513b259fdab9c9bf4aaa6188d054c2d",
              "status": "affected",
              "version": "e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "sound/core/oss/pcm_oss.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.20"
            },
            {
              "lessThan": "2.6.20",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.215",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.148",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.68",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.215",
                  "versionStartIncluding": "2.6.20",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.148",
                  "versionStartIncluding": "2.6.20",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.68",
                  "versionStartIncluding": "2.6.20",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.9",
                  "versionStartIncluding": "2.6.20",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0",
                  "versionStartIncluding": "2.6.20",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC\n\nThere is a small race window at snd_pcm_oss_sync() that is called from\nOSS PCM SNDCTL_DSP_SYNC ioctl; namely the function calls\nsnd_pcm_oss_make_ready() at first, then takes the params_lock mutex\nfor the rest.  When the stream is set up again by another thread\nbetween them, it leads to inconsistency, and may result in unexpected\nresults such as NULL dereference of OSS buffer as a fuzzer spotted\nrecently.\n\nThe fix is simply to cover snd_pcm_oss_make_ready() call into the same\nparams_lock mutex with snd_pcm_oss_make_ready_locked() variant."
        }
      ],
      "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 - Triggered via local SNDCTL_DSP_SYNC ioctl on OSS PCM devices (/dev/dsp), requiring local process access to the sound device node rather than network or physical reachability.\nAC:L - The attacker controls both sides of the race by running concurrent threads on the same OSS fd (e.g., SNDCTL_DSP_SYNC racing SNDCTL_DSP_SPEED, which sets params then calls change_params via get_active_substream without checking rw_ref).\nPR:L - Opening /dev/dsp and issuing OSS ioctls requires only ordinary local user access (typically audio-group membership); the code path has no capability checks or root requirement.\nUI:N - Exploitation needs no victim action; the attacker opens the device and issues the racing ioctls themselves.\nS:U - Impact is confined to the host kernel authority (crash or memory corruption in-process); there is no VM/IOMMU/sandbox boundary crossing.\nC:H - The race leaves period_ptr inconsistent with a reallocated or NULL OSS buffer, enabling size_t underflow and out-of-bounds writes via snd_pcm_format_set_silence that can corrupt kernel heap and be leveraged for information disclosure.\nI:H - The same inconsistent state yields an out-of-bounds write into kernel memory (or NULL dereference after failed reallocation), which is exploitable for integrity compromise and control-flow hijacking.\nA:H - The documented NULL dereference of the OSS buffer causes a kernel oops/panic, and the OOB write path similarly crashes or hangs the kernel."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:56:09.069Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/4051324a6dafd7053c74c475e80b3ba10ae672b0"
        },
        {
          "url": "https://git.kernel.org/stable/c/fce793a056c604b41a298317cf704dae255f1b36"
        },
        {
          "url": "https://git.kernel.org/stable/c/8015ef9e8a0ee5cecfd0cb6805834d007ab26f86"
        },
        {
          "url": "https://git.kernel.org/stable/c/723ac5ab2891b6c10dd6cc78ef5456af593490eb"
        },
        {
          "url": "https://git.kernel.org/stable/c/8423f0b6d513b259fdab9c9bf4aaa6188d054c2d"
        }
      ],
      "title": "ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49733",
    "datePublished": "2025-03-02T14:30:02.838Z",
    "dateReserved": "2025-02-26T02:21:30.449Z",
    "dateUpdated": "2026-08-05T08:56:09.069Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 4.7, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"HIGH\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2022-49733\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T19:28:32.574856Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-476\", \"description\": \"CWE-476 NULL Pointer Dereference\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-01T16:56:57.587Z\"}}], \"cna\": {\"title\": \"ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.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\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - Triggered via local SNDCTL_DSP_SYNC ioctl on OSS PCM devices (/dev/dsp), requiring local process access to the sound device node rather than network or physical reachability.\\nAC:L - The attacker controls both sides of the race by running concurrent threads on the same OSS fd (e.g., SNDCTL_DSP_SYNC racing SNDCTL_DSP_SPEED, which sets params then calls change_params via get_active_substream without checking rw_ref).\\nPR:L - Opening /dev/dsp and issuing OSS ioctls requires only ordinary local user access (typically audio-group membership); the code path has no capability checks or root requirement.\\nUI:N - Exploitation needs no victim action; the attacker opens the device and issues the racing ioctls themselves.\\nS:U - Impact is confined to the host kernel authority (crash or memory corruption in-process); there is no VM/IOMMU/sandbox boundary crossing.\\nC:H - The race leaves period_ptr inconsistent with a reallocated or NULL OSS buffer, enabling size_t underflow and out-of-bounds writes via snd_pcm_format_set_silence that can corrupt kernel heap and be leveraged for information disclosure.\\nI:H - The same inconsistent state yields an out-of-bounds write into kernel memory (or NULL dereference after failed reallocation), which is exploitable for integrity compromise and control-flow hijacking.\\nA:H - The documented NULL dereference of the OSS buffer causes a kernel oops/panic, and the OOB write path similarly crashes or hangs the kernel.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43\", \"lessThan\": \"4051324a6dafd7053c74c475e80b3ba10ae672b0\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43\", \"lessThan\": \"fce793a056c604b41a298317cf704dae255f1b36\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43\", \"lessThan\": \"8015ef9e8a0ee5cecfd0cb6805834d007ab26f86\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43\", \"lessThan\": \"723ac5ab2891b6c10dd6cc78ef5456af593490eb\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43\", \"lessThan\": \"8423f0b6d513b259fdab9c9bf4aaa6188d054c2d\", \"versionType\": \"git\"}], \"programFiles\": [\"sound/core/oss/pcm_oss.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"2.6.20\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"2.6.20\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.4.215\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.148\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.68\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"5.19.9\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.19.*\"}, {\"status\": \"unaffected\", \"version\": \"6.0\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"sound/core/oss/pcm_oss.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/4051324a6dafd7053c74c475e80b3ba10ae672b0\"}, {\"url\": \"https://git.kernel.org/stable/c/fce793a056c604b41a298317cf704dae255f1b36\"}, {\"url\": \"https://git.kernel.org/stable/c/8015ef9e8a0ee5cecfd0cb6805834d007ab26f86\"}, {\"url\": \"https://git.kernel.org/stable/c/723ac5ab2891b6c10dd6cc78ef5456af593490eb\"}, {\"url\": \"https://git.kernel.org/stable/c/8423f0b6d513b259fdab9c9bf4aaa6188d054c2d\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC\\n\\nThere is a small race window at snd_pcm_oss_sync() that is called from\\nOSS PCM SNDCTL_DSP_SYNC ioctl; namely the function calls\\nsnd_pcm_oss_make_ready() at first, then takes the params_lock mutex\\nfor the rest.  When the stream is set up again by another thread\\nbetween them, it leads to inconsistency, and may result in unexpected\\nresults such as NULL dereference of OSS buffer as a fuzzer spotted\\nrecently.\\n\\nThe fix is simply to cover snd_pcm_oss_make_ready() call into the same\\nparams_lock mutex with snd_pcm_oss_make_ready_locked() variant.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.215\", \"versionStartIncluding\": \"2.6.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.148\", \"versionStartIncluding\": \"2.6.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.68\", \"versionStartIncluding\": \"2.6.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.19.9\", \"versionStartIncluding\": \"2.6.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.0\", \"versionStartIncluding\": \"2.6.20\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T08:56:09.069Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2022-49733\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T08:56:09.069Z\", \"dateReserved\": \"2025-02-26T02:21:30.449Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2025-03-02T14:30:02.838Z\", \"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…