Skip to content
Heist/ feed
Back to feed
HighFix available

media: usbtv: keep device alive while ALSA card exists

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: media: usbtv: keep device alive while ALSA card exists The ALSA PCM callbacks store the driver state in pcm->private_data. An open PCM file can outlive USB disconnect because usbtv_audio_free() uses snd_card_free_when_closed(). The disconnect path can then drop the V4L2 device reference and free struct usbtv before ALSA releases the substream, so a later close dereferences freed memory in snd_usbtv_pcm_close(). Take a V4L2 device reference for the ALSA card and drop it from the card private_free callback. This keeps struct usbtv valid until ALSA has closed the remaining files and freed the card.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.270, 5.15.221, 6.1.188, 6.12.110, 6.18.51, 6.6.157, 7.2.5
CVEs
CVE-2026-90032
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 11:38 UTC · Revision 1

Source evidence

media: usbtv: keep device alive while ALSA card exists

core-osv · Original source

Published 16 Sept 2026, 10:33 UTC

In the Linux kernel, the following vulnerability has been resolved: media: usbtv: keep device alive while ALSA card exists The ALSA PCM callbacks store the driver state in pcm->private_data. An open PCM file can outlive USB disconnect because usbtv_audio_free() uses snd_card_free_when_closed(). The disconnect path can then drop the V4L2 device reference and free struct usbtv before ALSA releases the substream, so a later close dereferences freed memory in snd_usbtv_pcm_close(). Take a V4L2 device reference for the ALSA card and drop it from the card private_free callback. This keeps struct usbtv valid until ALSA has closed the remaining files and freed the card.

osv:CVE-2026-90032

Kernel

Fixed versions: 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.51, 7.2.5

Complete source record
{
  "id": "a806d4e8d8bb88d0f455ad0bb40b4eb79e11d1ccd0ffd773b6b63d31228daf9e",
  "url": "https://osv.dev/vulnerability/CVE-2026-90032",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "media: usbtv: keep device alive while ALSA card exists",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: media: usbtv: keep device alive while ALSA card exists The ALSA PCM callbacks store the driver state in pcm->private_data. An open PCM file can outlive USB disconnect because usbtv_audio_free() uses snd_card_free_when_closed(). The disconnect path can then drop the V4L2 device reference and free struct usbtv before ALSA releases the substream, so a later close dereferences freed memory in snd_usbtv_pcm_close(). Take a V4L2 device reference for the ALSA card and drop it from the card private_free callback. This keeps struct usbtv valid until ALSA has closed the remaining files and freed the card.",
    "evidence": "osv:CVE-2026-90032",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.270",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.221",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.188",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.157",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.110",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.51",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.2.5",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-90032",
      "aliases": [
        "CVE-2026-90032"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "63ddf68de52efaac40a9287e44266ac30e71dd36"
                },
                {
                  "fixed": "97b5e8b22b98e287481a97a9a4cfebbb348738a5"
                },
                {
                  "fixed": "503be26ff888cb3576e55d251895d290e8146f27"
                },
                {
                  "fixed": "be0f7745f883386e5263b4e475686a81dfa87175"
                },
                {
                  "fixed": "67374e3a00814dcdd46e9feca61f69f7f2d81957"
                },
                {
                  "fixed": "239d1683e08b2aee2a15ef35706e1ea9a76681d8"
                },
                {
                  "fixed": "7690a86b193271322cd31ab77349a87aa10858e4"
                },
                {
                  "fixed": "1618257cb0aba4ce342ae8c0228368c24161f5fb"
                },
                {
                  "fixed": "fc530fe168bb2b745a93f553ad21fc25fd9cba3d"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90032.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "3.18.0"
                },
                {
                  "fixed": "5.10.270"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.221"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.188"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.157"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.110"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.51"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.2.5"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90032.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:34.710166150Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/1618257cb0aba4ce342ae8c0228368c24161f5fb",
        "https://git.kernel.org/stable/c/239d1683e08b2aee2a15ef35706e1ea9a76681d8",
        "https://git.kernel.org/stable/c/503be26ff888cb3576e55d251895d290e8146f27",
        "https://git.kernel.org/stable/c/67374e3a00814dcdd46e9feca61f69f7f2d81957",
        "https://git.kernel.org/stable/c/7690a86b193271322cd31ab77349a87aa10858e4",
        "https://git.kernel.org/stable/c/97b5e8b22b98e287481a97a9a4cfebbb348738a5",
        "https://git.kernel.org/stable/c/be0f7745f883386e5263b4e475686a81dfa87175",
        "https://git.kernel.org/stable/c/fc530fe168bb2b745a93f553ad21fc25fd9cba3d",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90032.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-90032",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90032.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-90032",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 502097,
  "published_at": "2026-09-16T10:33:33.197+00:00"
}