GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-80525 (GCVE-0-2026-80525)

Vulnerability from cvelistv5 – Published: 2026-08-26 14:37 – Updated: 2026-08-26 14:37
VLAI
Title
ASoC: SOF: ipc4-topology: Refresh copier IPC payload before widget setup
Summary
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. 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.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a , < decb87e76716d11d846c9c055e309c8ff90d7656 (git)
Affected: e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a , < 2a7d8fc0fd50e7a2020989d9840cabb74c0282e3 (git)
Affected: e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a , < 574498e56024082a0da68474ad4526d250732411 (git)
Affected: e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a , < 0c0e418dbcf0582bf80d8dbfd9b306607c065992 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.10
Unaffected: 0 , < 6.10 (semver)
Unaffected: 6.12.105 , ≤ 6.12.* (semver)
Unaffected: 6.18.46 , ≤ 6.18.* (semver)
Unaffected: 7.1.10 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "sound/soc/sof/ipc4-topology.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "decb87e76716d11d846c9c055e309c8ff90d7656",
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "versionType": "git"
            },
            {
              "lessThan": "2a7d8fc0fd50e7a2020989d9840cabb74c0282e3",
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "versionType": "git"
            },
            {
              "lessThan": "574498e56024082a0da68474ad4526d250732411",
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "versionType": "git"
            },
            {
              "lessThan": "0c0e418dbcf0582bf80d8dbfd9b306607c065992",
              "status": "affected",
              "version": "e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "sound/soc/sof/ipc4-topology.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.10"
            },
            {
              "lessThan": "6.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.105",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.46",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.105",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.46",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.10",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "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-\u003estream[].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."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-26T14:37:04.973Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/decb87e76716d11d846c9c055e309c8ff90d7656"
        },
        {
          "url": "https://git.kernel.org/stable/c/2a7d8fc0fd50e7a2020989d9840cabb74c0282e3"
        },
        {
          "url": "https://git.kernel.org/stable/c/574498e56024082a0da68474ad4526d250732411"
        },
        {
          "url": "https://git.kernel.org/stable/c/0c0e418dbcf0582bf80d8dbfd9b306607c065992"
        }
      ],
      "title": "ASoC: SOF: ipc4-topology: Refresh copier IPC payload before widget setup",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80525",
    "datePublished": "2026-08-26T14:37:04.973Z",
    "dateReserved": "2026-08-26T14:34:25.764Z",
    "dateUpdated": "2026-08-26T14:37:04.973Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80525",
      "date": "2026-09-17",
      "epss": "0.00168",
      "percentile": "0.06448"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-80525\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-26T15:17:06.200\",\"lastModified\":\"2026-08-26T15:17:06.200\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"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-\u003estream[].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.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"sound/soc/sof/ipc4-topology.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"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\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"sound/soc/sof/ipc4-topology.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.10\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.10\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.105\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.46\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.10\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"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\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-27T10:08:01+00:00",
      "cve": "CVE-2026-80525",
      "id": "CVE-2026-80525",
      "initial_release_date": "2026-08-26T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ASoC: SOF: ipc4-topology: Refresh copier IPC payload before widget setup",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80525.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:12:11Z",
      "cve": "CVE-2026-80525",
      "id": "CVE-2026-80525",
      "initial_release_date": "2026-08-27T00:12:39Z",
      "product_status:known_affected": "67",
      "product_status:known_not_affected": "286",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-80525",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-80525.json",
      "version": "7"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…