« Volver al listado

CVE-2026-80525

Estado: RecibidaSin puntuar—

In the Linux kernel, the following vulnerability has been resolved:

ASoC: SOF: ipc4-topology: Refresh copier IPC payload before widget setup

The ipc_config_data buffer for copier widgets is built once during ipc_prepare (called from sof_pcm_setup_connected_widgets) and cached for reuse. For host copiers this buffer contains the copier_data with gtw_cfg.node_id (host DMA ID). For DAI copiers it additionally includes a dma_config_tlv trailer with stream_id and dma_channel_id for HDA link DMA.

On suspend/resume, both host and link DMA streams are released and re-allocated with potentially different stream tags.

Leer descripción completaMostrar menos

The underlying copier_data and dma_config_tlv structures are correctly updated by host_config and sdw_hda_dai_hw_params respectively. However, since the widget list (spcm->stream[].list) persists across suspend, sof_pcm_hw_params skips sof_pcm_setup_connected_widgets and ipc_prepare never runs again to rebuild ipc_config_data. The stale cached payload is then sent to firmware with boot-time DMA channel assignments, causing DMA channel conflicts that lead to firmware errors and crashes.

Fix this by refreshing copier_data and dma_config_tlv portions of ipc_config_data in sof_ipc4_widget_setup right before the IPC message is sent. This ensures the payload always reflects the current DMA state regardless of whether ipc_prepare ran.

For DAI copiers, the gtw_cfg.config_length in copier_data is temporarily inflated to include the TLV size (matching the ipc_config_data layout) before copying, then restored, mirroring what sof_ipc4_prepare_copier_module does when first building the buffer.

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-80525",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "lessThan": "decb87e76716d11d846c9c055e309c8ff90d7656",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "lessThan": "2a7d8fc0fd50e7a2020989d9840cabb74c0282e3",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "lessThan": "574498e56024082a0da68474ad4526d250732411",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "lessThan": "0c0e418dbcf0582bf80d8dbfd9b306607c065992",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "sound/soc/sof/ipc4-topology.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.10"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.10",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.12.105",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.46",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.1.10",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "sound/soc/sof/ipc4-topology.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-08-26T15:17:06.200",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0c0e418dbcf0582bf80d8dbfd9b306607c065992",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2a7d8fc0fd50e7a2020989d9840cabb74c0282e3",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/574498e56024082a0da68474ad4526d250732411",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/decb87e76716d11d846c9c055e309c8ff90d7656",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: SOF: ipc4-topology: Refresh copier IPC payload before widget setup\n\nThe ipc_config_data buffer for copier widgets is built once during\nipc_prepare (called from sof_pcm_setup_connected_widgets) and cached\nfor reuse. For host copiers this buffer contains the copier_data with\ngtw_cfg.node_id (host DMA ID). For DAI copiers it additionally includes\na dma_config_tlv trailer with stream_id and dma_channel_id for HDA link\nDMA.\n\nOn suspend/resume, both host and link DMA streams are released and\nre-allocated with potentially different stream tags. The underlying\ncopier_data and dma_config_tlv structures are correctly updated by\nhost_config and sdw_hda_dai_hw_params respectively. However, since the\nwidget list (spcm->stream[].list) persists across suspend,\nsof_pcm_hw_params skips sof_pcm_setup_connected_widgets and ipc_prepare\nnever runs again to rebuild ipc_config_data. The stale cached payload\nis then sent to firmware with boot-time DMA channel assignments, causing\nDMA channel conflicts that lead to firmware errors and crashes.\n\nFix this by refreshing copier_data and dma_config_tlv portions of\nipc_config_data in sof_ipc4_widget_setup right before the IPC message\nis sent. This ensures the payload always reflects the current DMA state\nregardless of whether ipc_prepare ran.\n\nFor DAI copiers, the gtw_cfg.config_length in copier_data is temporarily\ninflated to include the TLV size (matching the ipc_config_data layout)\nbefore copying, then restored, mirroring what\nsof_ipc4_prepare_copier_module does when first building the buffer."
    }
  ],
  "lastModified": "2026-08-26T15:17:06.200",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}