CVE-2026-98407 (GCVE-0-2026-98407)
Vulnerability from cvelistv5
Published
2026-10-14 13:27
Modified
2026-10-19 09:19
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: rsi: fix heap OOB write on key removal When a key is removed (data == NULL), rsi_hal_load_key() runs: memset(&set_key[FRAME_DESC_SZ], 0, frame_len - FRAME_DESC_SZ); set_key is a struct rsi_set_key *, so the subscript is scaled by sizeof(struct rsi_set_key) (160 bytes): &set_key[FRAME_DESC_SZ] is skb->data + 2560, and the memset writes 144 zero bytes starting 2.4KB past the end of the 160-byte skb data buffer, corrupting unrelated heap objects. The intended byte offset would have been (u8 *)set_key + FRAME_DESC_SZ. The write fires on every DISABLE_KEY callback, so plain disconnects, roams and interface teardowns trigger it on real networks. The memset is redundant: the whole buffer is zeroed right after allocation, so the frame sent to the device is byte-identical without it. Drop the else branch; normal operation is unaffected. Discovered by Atuin - Automated Vulnerability Discovery Engine.
Impacted products
Vendor Product Version
Linux Linux Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Version: dad0d04fa7ba41ce603a01e8e64967650303e9a2
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/rsi/rsi_91x_mgmt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b79e2f6585c014c42384f4caa7a37b3e5d26179c",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            },
            {
              "lessThan": "c67fb3b875a83f9ba92afea4036c7b541f77512a",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            },
            {
              "lessThan": "62d40db89180cfab7a917395f9ffc1dac62b0019",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            },
            {
              "lessThan": "00bea3589255603c38766cac4a4d6d36493b2556",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            },
            {
              "lessThan": "ac599cf8edf8aa2dae546f04d3f1849e32c2e738",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            },
            {
              "lessThan": "f4f2852b664c3ff1436785cd11258a0ce25b74b3",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            },
            {
              "lessThan": "8dab6ee020b2cd951b670626ba44a95cd4deac3d",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            },
            {
              "lessThan": "e6c5ed7a98d7bc8b0f7918246f1c90ddb3f79dfa",
              "status": "affected",
              "version": "dad0d04fa7ba41ce603a01e8e64967650303e9a2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/rsi/rsi_91x_mgmt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.15"
            },
            {
              "lessThan": "3.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.271",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.222",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.189",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.112",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.54",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.271",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.222",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.189",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.158",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.112",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.54",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.8",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "3.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: rsi: fix heap OOB write on key removal\n\nWhen a key is removed (data == NULL), rsi_hal_load_key() runs:\n\n\tmemset(\u0026set_key[FRAME_DESC_SZ], 0, frame_len - FRAME_DESC_SZ);\n\nset_key is a struct rsi_set_key *, so the subscript is scaled by\nsizeof(struct rsi_set_key) (160 bytes): \u0026set_key[FRAME_DESC_SZ] is\nskb-\u003edata + 2560, and the memset writes 144 zero bytes starting\n2.4KB past the end of the 160-byte skb data buffer, corrupting\nunrelated heap objects. The intended byte offset would have been\n(u8 *)set_key + FRAME_DESC_SZ.\n\nThe write fires on every DISABLE_KEY callback, so plain disconnects,\nroams and interface teardowns trigger it on real networks.\n\nThe memset is redundant: the whole buffer is zeroed right after\nallocation, so the frame sent to the device is byte-identical\nwithout it. Drop the else branch; normal operation is unaffected.\n\nDiscovered by Atuin - Automated Vulnerability Discovery Engine."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T09:19:00.454Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b79e2f6585c014c42384f4caa7a37b3e5d26179c"
        },
        {
          "url": "https://git.kernel.org/stable/c/c67fb3b875a83f9ba92afea4036c7b541f77512a"
        },
        {
          "url": "https://git.kernel.org/stable/c/62d40db89180cfab7a917395f9ffc1dac62b0019"
        },
        {
          "url": "https://git.kernel.org/stable/c/00bea3589255603c38766cac4a4d6d36493b2556"
        },
        {
          "url": "https://git.kernel.org/stable/c/ac599cf8edf8aa2dae546f04d3f1849e32c2e738"
        },
        {
          "url": "https://git.kernel.org/stable/c/f4f2852b664c3ff1436785cd11258a0ce25b74b3"
        },
        {
          "url": "https://git.kernel.org/stable/c/8dab6ee020b2cd951b670626ba44a95cd4deac3d"
        },
        {
          "url": "https://git.kernel.org/stable/c/e6c5ed7a98d7bc8b0f7918246f1c90ddb3f79dfa"
        }
      ],
      "title": "wifi: rsi: fix heap OOB write on key removal",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98407",
    "datePublished": "2026-10-14T13:27:41.799Z",
    "dateReserved": "2026-09-25T10:25:14.347Z",
    "dateUpdated": "2026-10-19T09:19:00.454Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…