← Back to CVE Explorer

CVE-2025-39997

Full vulnerability record from the local CVENow database.

Description

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.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-10-15 08:15:37.947000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-39997",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-10-15T08:15:37.947",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "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."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nALSA: usb-audio: corregir condición de carrera a UAF en snd_usbmidi_free\n\nEl commit anterior 0718a78f6a9f ('ALSA: usb-audio: Eliminar temporizador correctamente al retirar') parcheó un problema de UAF causado por el temporizador de error.\n\nSin embargo, debido a que la eliminación del temporizador de error añadida en este parche ocurre después de la eliminación del punto final, una condición de carrera a UAF todavía ocurre, aunque raramente.\n\nAdemás, dado que la limpieza de eliminación para urb también falta, la memoria liberada puede ser accedida en contexto de interrupción relacionado con urb, lo que puede causar UAF.\n\nPor lo tanto, para prevenir esto, el temporizador de error y urb deben ser eliminados antes de liberar la memoria del montón."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "sound/usb/midi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "06513dd6d32c37d0364db8488cfdf3e14da238a8",
              "lessThan": "e63f049c7764b615d1d50cb486745fa63372b42d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "efaf61052b8ff9ee8968912fbaf02c2847c78ede",
              "lessThan": "e16985513e89466a236d2a7c202783b4dd0c5a46",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "647410a7da46067953a53c0d03f8680eff570959",
              "lessThan": "dc4874366cf6cf4a31d8fa4b7f0e2a5b2d7647ba",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "c611b9e55174e439dcd85a72969b43a95f3827a4",
              "lessThan": "647d6b8d22be12842fde6ed0c56859ebc615f21e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1",
              "lessThan": "af600e7f5526d16146b3ae99f6ad57bfea79ca33",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1",
              "lessThan": "353d8c715cc951a980728133c9dd64ca5a0a186c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0718a78f6a9f04b88d0dc9616cc216b31c5f3cf1",
              "lessThan": "9f2c0ac1423d5f267e7f1d1940780fc764b0fee3",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "62066758d2ae169278e5d6aea5995b1b6f6ddeb5",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "6.1.167",
              "lessThan": "6.1.175",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "6.15.3",
              "lessThan": "6.16",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "sound/usb/midi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.16",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.16",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.175",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.16.11",
              "lessThanOrEqual": "6.16.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.1",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    },
    {
      "source": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
      "affectedData": [
        {
          "vendor": "Siemens",
          "product": "SIMATIC S7-1500 TM MFP - GNU/Linux subsystem",
          "defaultStatus": "unknown",
          "versions": [
            {
              "version": "0",
              "lessThan": "*",
              "versionType": "custom",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "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"
    },
    {
      "url": "https://git.kernel.org/stable/c/e16985513e89466a236d2a7c202783b4dd0c5a46",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e63f049c7764b615d1d50cb486745fa63372b42d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://cert-portal.siemens.com/productcert/html/ssa-784472.html",
      "source": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"
    }
  ]
}