CVE-2026-90348 (GCVE-0-2026-90348)

Vulnerability from cvelistv5 – Published: 2026-09-17 16:08 – Updated: 2026-09-17 16:08
VLAI
Title
wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump On WCN3990/SNOC the MSA region is mapped with devm_memremap(MEMREMAP_WT). On arm64 such a mapping is not Normal-cacheable, so unaligned accesses to it are not permitted. ath10k_msa_dump_memory() copies the region with a plain memcpy(), whose optimized __pi_memcpy_generic implementation issues wide/unaligned loads. This triggers an alignment fault (FSC=0x21) Oops in ath10k_snoc_fw_crashed_dump() while collecting the devcoredump: Unable to handle kernel paging request ... FSC=0x21: alignment fault pc : __pi_memcpy_generic lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc] The Oops both leaves the firmware RAM dump buffer zeroed (no dump is captured) and crashes the kernel, which in turn breaks modem SSR recovery. Use memcpy_fromio(), which only performs accesses that are valid for such a device-memory mapping. The generic memcpy_fromio() implementation aligns the source before issuing word-sized reads and stores the destination with put_unaligned(), so it is also safe for the coherent DMA allocation used on the non-reserved-memory path. ath11k and ath12k use the same pattern when copying target memory into crash dumps, so call it unconditionally here too. The MEMREMAP_WT pointer is a plain void *, so an explicit __iomem cast is needed; use __force to keep sparse happy. Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00107-QCAHLSWMTPL-1
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < e5bc3658da9c8a535e3fa5c0c875b2a456954e81 (git)
Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < fed1f662c9f9fd19eeab6c01966b7b5a33804420 (git)
Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < 838cab267ce9a975776e022f25094f8cbe1625d2 (git)
Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < eb946595a58decdb4cab1b5f3c972ae66f41f1c8 (git)
Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < 152e894e90716163c646d70f86b3afeb70442783 (git)
Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < 7039825a7479df637c4f5d546cb0e1cec18cd8e1 (git)
Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < 045d1bfb72d2631ab9ec74afa491aa788ebb57aa (git)
Affected: 3f14b73c38431a6a1ed24de568e18ed89b7082e2 , < 4f25071afe9218aaae1c63fbf75e229aa6405319 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.5
Unaffected: 0 , < 5.5 (semver)
Unaffected: 5.10.270 , ≤ 5.10.* (semver)
Unaffected: 5.15.221 , ≤ 5.15.* (semver)
Unaffected: 6.1.188 , ≤ 6.1.* (semver)
Unaffected: 6.6.157 , ≤ 6.6.* (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.52 , ≤ 6.18.* (semver)
Unaffected: 7.2.6 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/ath/ath10k/snoc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e5bc3658da9c8a535e3fa5c0c875b2a456954e81",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            },
            {
              "lessThan": "fed1f662c9f9fd19eeab6c01966b7b5a33804420",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            },
            {
              "lessThan": "838cab267ce9a975776e022f25094f8cbe1625d2",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            },
            {
              "lessThan": "eb946595a58decdb4cab1b5f3c972ae66f41f1c8",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            },
            {
              "lessThan": "152e894e90716163c646d70f86b3afeb70442783",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            },
            {
              "lessThan": "7039825a7479df637c4f5d546cb0e1cec18cd8e1",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            },
            {
              "lessThan": "045d1bfb72d2631ab9ec74afa491aa788ebb57aa",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            },
            {
              "lessThan": "4f25071afe9218aaae1c63fbf75e229aa6405319",
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/ath/ath10k/snoc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.5"
            },
            {
              "lessThan": "5.5",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.270",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.270",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump\n\nOn WCN3990/SNOC the MSA region is mapped with devm_memremap(MEMREMAP_WT).\nOn arm64 such a mapping is not Normal-cacheable, so unaligned accesses to\nit are not permitted. ath10k_msa_dump_memory() copies the region with a\nplain memcpy(), whose optimized __pi_memcpy_generic implementation issues\nwide/unaligned loads. This triggers an alignment fault (FSC=0x21) Oops in\nath10k_snoc_fw_crashed_dump() while collecting the devcoredump:\n\n  Unable to handle kernel paging request ... FSC=0x21: alignment fault\n  pc : __pi_memcpy_generic\n  lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc]\n\nThe Oops both leaves the firmware RAM dump buffer zeroed (no dump is\ncaptured) and crashes the kernel, which in turn breaks modem SSR\nrecovery.\n\nUse memcpy_fromio(), which only performs accesses that are valid for such\na device-memory mapping. The generic memcpy_fromio() implementation aligns\nthe source before issuing word-sized reads and stores the destination with\nput_unaligned(), so it is also safe for the coherent DMA allocation used on\nthe non-reserved-memory path. ath11k and ath12k use the same pattern\nwhen copying target memory into crash dumps, so call it unconditionally\nhere too.\nThe MEMREMAP_WT pointer is a plain void *, so an explicit __iomem cast is\nneeded; use __force to keep sparse happy.\n\nTested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00107-QCAHLSWMTPL-1"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-17T16:08:56.885Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e5bc3658da9c8a535e3fa5c0c875b2a456954e81"
        },
        {
          "url": "https://git.kernel.org/stable/c/fed1f662c9f9fd19eeab6c01966b7b5a33804420"
        },
        {
          "url": "https://git.kernel.org/stable/c/838cab267ce9a975776e022f25094f8cbe1625d2"
        },
        {
          "url": "https://git.kernel.org/stable/c/eb946595a58decdb4cab1b5f3c972ae66f41f1c8"
        },
        {
          "url": "https://git.kernel.org/stable/c/152e894e90716163c646d70f86b3afeb70442783"
        },
        {
          "url": "https://git.kernel.org/stable/c/7039825a7479df637c4f5d546cb0e1cec18cd8e1"
        },
        {
          "url": "https://git.kernel.org/stable/c/045d1bfb72d2631ab9ec74afa491aa788ebb57aa"
        },
        {
          "url": "https://git.kernel.org/stable/c/4f25071afe9218aaae1c63fbf75e229aa6405319"
        }
      ],
      "title": "wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90348",
    "datePublished": "2026-09-17T16:08:56.885Z",
    "dateReserved": "2026-09-11T19:38:34.805Z",
    "dateUpdated": "2026-09-17T16:08:56.885Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-90348",
      "date": "2026-09-26",
      "epss": "0.0022",
      "percentile": "0.11224"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/wireless/ath/ath10k/snoc.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "e5bc3658da9c8a535e3fa5c0c875b2a456954e81",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "fed1f662c9f9fd19eeab6c01966b7b5a33804420",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "838cab267ce9a975776e022f25094f8cbe1625d2",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "eb946595a58decdb4cab1b5f3c972ae66f41f1c8",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "152e894e90716163c646d70f86b3afeb70442783",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7039825a7479df637c4f5d546cb0e1cec18cd8e1",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "045d1bfb72d2631ab9ec74afa491aa788ebb57aa",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4f25071afe9218aaae1c63fbf75e229aa6405319",
                    "status": "affected",
                    "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/wireless/ath/ath10k/snoc.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.5"
                  },
                  {
                    "lessThan": "5.5",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.270",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.221",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.188",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.157",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.110",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.52",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump\n\nOn WCN3990/SNOC the MSA region is mapped with devm_memremap(MEMREMAP_WT).\nOn arm64 such a mapping is not Normal-cacheable, so unaligned accesses to\nit are not permitted. ath10k_msa_dump_memory() copies the region with a\nplain memcpy(), whose optimized __pi_memcpy_generic implementation issues\nwide/unaligned loads. This triggers an alignment fault (FSC=0x21) Oops in\nath10k_snoc_fw_crashed_dump() while collecting the devcoredump:\n\n  Unable to handle kernel paging request ... FSC=0x21: alignment fault\n  pc : __pi_memcpy_generic\n  lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc]\n\nThe Oops both leaves the firmware RAM dump buffer zeroed (no dump is\ncaptured) and crashes the kernel, which in turn breaks modem SSR\nrecovery.\n\nUse memcpy_fromio(), which only performs accesses that are valid for such\na device-memory mapping. The generic memcpy_fromio() implementation aligns\nthe source before issuing word-sized reads and stores the destination with\nput_unaligned(), so it is also safe for the coherent DMA allocation used on\nthe non-reserved-memory path. ath11k and ath12k use the same pattern\nwhen copying target memory into crash dumps, so call it unconditionally\nhere too.\nThe MEMREMAP_WT pointer is a plain void *, so an explicit __iomem cast is\nneeded; use __force to keep sparse happy.\n\nTested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00107-QCAHLSWMTPL-1"
          }
        ],
        "id": "CVE-2026-90348",
        "lastModified": "2026-09-17T17:17:33.553",
        "metrics": {},
        "published": "2026-09-17T17:17:33.553",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/045d1bfb72d2631ab9ec74afa491aa788ebb57aa"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/152e894e90716163c646d70f86b3afeb70442783"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4f25071afe9218aaae1c63fbf75e229aa6405319"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7039825a7479df637c4f5d546cb0e1cec18cd8e1"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/838cab267ce9a975776e022f25094f8cbe1625d2"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e5bc3658da9c8a535e3fa5c0c875b2a456954e81"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/eb946595a58decdb4cab1b5f3c972ae66f41f1c8"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/fed1f662c9f9fd19eeab6c01966b7b5a33804420"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    }
  }
}



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…

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…