« Back to list

CVE-2026-90348

Status: ReceivedUnscored—

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:

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.

Read full descriptionShow less

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

Technical details traces, logs and code from the original report
  Unable to handle kernel paging request ... FSC=0x21: alignment fault
  pc : __pi_memcpy_generic
  lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc]

CVSS

NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).

Exploitation probability (EPSS)

EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).

Affected technologies (1)

⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.

References

Raw JSON (NVD)

Show
{
  "id": "CVE-2026-90348",
  "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": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "e5bc3658da9c8a535e3fa5c0c875b2a456954e81",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "fed1f662c9f9fd19eeab6c01966b7b5a33804420",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "838cab267ce9a975776e022f25094f8cbe1625d2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "eb946595a58decdb4cab1b5f3c972ae66f41f1c8",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "152e894e90716163c646d70f86b3afeb70442783",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "7039825a7479df637c4f5d546cb0e1cec18cd8e1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "045d1bfb72d2631ab9ec74afa491aa788ebb57aa",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f14b73c38431a6a1ed24de568e18ed89b7082e2",
              "lessThan": "4f25071afe9218aaae1c63fbf75e229aa6405319",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/wireless/ath/ath10k/snoc.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.5"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "5.5",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.10.270",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/net/wireless/ath/ath10k/snoc.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-17T17:17:33.553",
  "references": [
    {
      "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",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "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"
    }
  ],
  "lastModified": "2026-09-17T17:17:33.553",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}