{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2023-53226",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2023-53226"
  ],
  "published": "2025-09-15T14:26:11Z",
  "summary": "wifi: mwifiex: Fix OOB and integer underflow when rx packets",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mwifiex: Fix OOB and integer underflow when rx packets\n\nMake sure mwifiex_process_mgmt_packet,\nmwifiex_process_sta_rx_packet and mwifiex_process_uap_rx_packet,\nmwifiex_uap_queue_bridged_pkt and mwifiex_process_rx_packet\nnot out-of-bounds access the skb->data buffer.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.21-1+rpt1",
        "1:6.1.47-1+rpt2",
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v6",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v7",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v7l",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v8",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi2-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt2"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi2-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt2"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi2-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt2"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi2-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt2"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.21-1+rpt1": {
            "linux_commit": "0afb5e98488aed7017b9bf321b575d0177feb7ed",
            "upstream_version": "6.1.21",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.53"
          },
          "1:6.1.47-1+rpt2": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.53"
          },
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.53",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2023-53226"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/f517c97fc129995de77dd06aa5a74f909ebf568f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/8824aa4ab62c800f75d96f48e1883a5f56ec5869"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/29eca8b7863d1d7de6c5b746b374e3487d14f154"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3fe3923d092e22d87d1ed03e2729db444b8c1331"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/7c54b6fc39eb1aac51cf2945f8a25e2a47fdca02"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3975e21d4d01efaf0296ded40d11c06589c49245"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a7300e3800e9fd5405e88ce67709c1a97783b9c8"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/650d1bc02fba7b42f476d8b6643324abac5921ed"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/11958528161731c58e105b501ed60b83a91ea941"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T11:24:39Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 8.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:A - The vulnerable code processes WiFi RX frames delivered by mwifiex firmware (SDIO/PCIe/USB) into mwifiex_handle_rx_packet and the sta/uap/mgmt RX handlers; exploitation requires being on the same WiFi segment to inject or influence received frames, matching Adjacent for WiFi frame injection.\nAC:L - An adjacent attacker can reliably supply short or malformed RX payloads that yield a small but consistent rx_pkt_length passing the existing offset+length check and hitting the memmove underflow; success does not depend on an uncontrollable race or opaque victim-only state.\nPR:N - Frames are handled in the driver RX path with no host user account, capability, or OS authentication check; a peer on the WiFi link needs no privileges on the target system.\nUI:N - Once the interface is up with management/data RX enabled (common SoftAP, P2P, or station steady state on mwifiex Chromebooks/devices), attacker-controlled RX frames trigger the bug with no further victim action.\nS:U - The OOB read/write corrupts host kernel memory within the same kernel security authority; this is privilege escalation/DoS on the host, not a VM escape or IOMMU boundary cross.\nC:H - Out-of-bounds reads of skb data via unchecked rx_pkt_offset (eth/rfc1042 header access) and memory corruption from the underflowing memmove can be leveraged for arbitrary kernel information disclosure.\nI:H - The pkt_len underflow turns memmove into a large out-of-bounds write (explicitly called an exploitable OOB write on arm64 Chromebooks by the reporter), enabling heap corruption and control-flow hijacking.\nA:H - The same OOB access and corrupted memmove reliably cause kernel oops/panic in the RX path, so availability impact is complete even without a full code-execution exploit."
    }
  }
}
