CVE-2025-39997 (GCVE-0-2025-39997)
Vulnerability from cvelistv5
Published
2025-10-15 07:58
Modified
2025-10-15 07:58
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free The previous commit 0718a78f6a9f ("ALSA: usb-audio: Kill timer properly at removal") patched a UAF issue caused by the error timer. However, because the error timer kill added in this patch occurs after the endpoint delete, a race condition to UAF still occurs, albeit rarely. Additionally, since kill-cleanup for urb is also missing, freed memory can be accessed in interrupt context related to urb, which can cause UAF. Therefore, to prevent this, error timer and urb must be killed before freeing the heap memory.
Impacted products
Vendor Product Version
Linux Linux Version: 647410a7da46067953a53c0d03f8680eff570959
Version: c611b9e55174e439dcd85a72969b43a95f3827a4
Version: 0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1
Version: 0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1
Version: 0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1
Version: 62066758d2ae169278e5d6aea5995b1b6f6ddeb5
Create a notification for this product.
   Linux Linux Version: 6.16
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "sound/usb/midi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "dc4874366cf6cf4a31d8fa4b7f0e2a5b2d7647ba",
              "status": "affected",
              "version": "647410a7da46067953a53c0d03f8680eff570959",
              "versionType": "git"
            },
            {
              "lessThan": "647d6b8d22be12842fde6ed0c56859ebc615f21e",
              "status": "affected",
              "version": "c611b9e55174e439dcd85a72969b43a95f3827a4",
              "versionType": "git"
            },
            {
              "lessThan": "af600e7f5526d16146b3ae99f6ad57bfea79ca33",
              "status": "affected",
              "version": "0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1",
              "versionType": "git"
            },
            {
              "lessThan": "353d8c715cc951a980728133c9dd64ca5a0a186c",
              "status": "affected",
              "version": "0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1",
              "versionType": "git"
            },
            {
              "lessThan": "9f2c0ac1423d5f267e7f1d1940780fc764b0fee3",
              "status": "affected",
              "version": "0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "62066758d2ae169278e5d6aea5995b1b6f6ddeb5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "sound/usb/midi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.16"
            },
            {
              "lessThan": "6.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.16.*",
              "status": "unaffected",
              "version": "6.16.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.17.*",
              "status": "unaffected",
              "version": "6.17.1",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.18-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16.11",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17.1",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18-rc1",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.15.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free\n\nThe previous commit 0718a78f6a9f (\"ALSA: usb-audio: Kill timer properly at\nremoval\") patched a UAF issue caused by the error timer.\n\nHowever, because the error timer kill added in this patch occurs after the\nendpoint delete, a race condition to UAF still occurs, albeit rarely.\n\nAdditionally, since kill-cleanup for urb is also missing, freed memory can\nbe accessed in interrupt context related to urb, which can cause UAF.\n\nTherefore, to prevent this, error timer and urb must be killed before\nfreeing the heap memory."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-10-15T07:58:21.702Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/dc4874366cf6cf4a31d8fa4b7f0e2a5b2d7647ba"
        },
        {
          "url": "https://git.kernel.org/stable/c/647d6b8d22be12842fde6ed0c56859ebc615f21e"
        },
        {
          "url": "https://git.kernel.org/stable/c/af600e7f5526d16146b3ae99f6ad57bfea79ca33"
        },
        {
          "url": "https://git.kernel.org/stable/c/353d8c715cc951a980728133c9dd64ca5a0a186c"
        },
        {
          "url": "https://git.kernel.org/stable/c/9f2c0ac1423d5f267e7f1d1940780fc764b0fee3"
        }
      ],
      "title": "ALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-39997",
    "datePublished": "2025-10-15T07:58:21.702Z",
    "dateReserved": "2025-04-16T07:20:57.151Z",
    "dateUpdated": "2025-10-15T07:58:21.702Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-39997\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-10-15T08:15:37.947\",\"lastModified\":\"2025-10-16T15:28:59.610\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free\\n\\nThe previous commit 0718a78f6a9f (\\\"ALSA: usb-audio: Kill timer properly at\\nremoval\\\") patched a UAF issue caused by the error timer.\\n\\nHowever, because the error timer kill added in this patch occurs after the\\nendpoint delete, a race condition to UAF still occurs, albeit rarely.\\n\\nAdditionally, since kill-cleanup for urb is also missing, freed memory can\\nbe accessed in interrupt context related to urb, which can cause UAF.\\n\\nTherefore, to prevent this, error timer and urb must be killed before\\nfreeing the heap memory.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/353d8c715cc951a980728133c9dd64ca5a0a186c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/647d6b8d22be12842fde6ed0c56859ebc615f21e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9f2c0ac1423d5f267e7f1d1940780fc764b0fee3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/af600e7f5526d16146b3ae99f6ad57bfea79ca33\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/dc4874366cf6cf4a31d8fa4b7f0e2a5b2d7647ba\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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.
  • 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…