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

CVE-2026-90017 (GCVE-0-2026-90017)

Vulnerability from cvelistv5 – Published: 2026-09-16 10:33 – Updated: 2026-09-16 14:41
VLAI
Title
staging: rtl8723bs: fix OOB read in rtw_action_frame_parse()
Summary
In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB read in rtw_action_frame_parse() rtw_action_frame_parse() takes a frame_len parameter but never actually checks it before indexing into the frame body: const u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr); ... c = frame_body[0]; ... a = frame_body[1]; frame_body already points 24 bytes (sizeof(struct ieee80211_hdr_3addr)) into frame, so reading frame_body[0] and frame_body[1] requires frame_len >= 26. A management action frame shorter than that (e.g. exactly 24 bytes, the minimum a malicious peer can send) causes a 1-2 byte out-of-bounds read. This is reachable from rtw_cfg80211_monitor_if_xmit_entry() and cfg80211_rtw_mgmt_tx() in ioctl_cfg80211.c, both of which pass attacker/user-influenced frame buffers and lengths straight through. Add the missing length check before frame_body is dereferenced.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < 15081ff835b29e456da29303b32efc436df04695 (git)
Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < 310aaa8058d19cc431aedac0f5bb814e84479393 (git)
Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < 1410bce22351ba15d8e58287cbf09d55d7f21fc9 (git)
Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < 0b7f64c7bb9664777168768c6b44affb07dcbf24 (git)
Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < 136f9a3ab87ded8aaf081425cfb2059659dd9023 (git)
Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < b041e3f35e0d262d42a711094ab594634d72744a (git)
Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < a54fd1a44862d263df9f8bc17fca3620be31addb (git)
Affected: 554c0a3abf216c991c5ebddcdb2c08689ecd290b , < ff917923f4fb9c83717ba135ee47d7e4c1567bb7 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.12
Unaffected: 0 , < 4.12 (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.51 , ≤ 6.18.* (semver)
Unaffected: 7.2.5 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc2 , ≤ * (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/staging/rtl8723bs/core/rtw_ieee80211.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "15081ff835b29e456da29303b32efc436df04695",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            },
            {
              "lessThan": "310aaa8058d19cc431aedac0f5bb814e84479393",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            },
            {
              "lessThan": "1410bce22351ba15d8e58287cbf09d55d7f21fc9",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            },
            {
              "lessThan": "0b7f64c7bb9664777168768c6b44affb07dcbf24",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            },
            {
              "lessThan": "136f9a3ab87ded8aaf081425cfb2059659dd9023",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            },
            {
              "lessThan": "b041e3f35e0d262d42a711094ab594634d72744a",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            },
            {
              "lessThan": "a54fd1a44862d263df9f8bc17fca3620be31addb",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            },
            {
              "lessThan": "ff917923f4fb9c83717ba135ee47d7e4c1567bb7",
              "status": "affected",
              "version": "554c0a3abf216c991c5ebddcdb2c08689ecd290b",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/staging/rtl8723bs/core/rtw_ieee80211.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.12"
            },
            {
              "lessThan": "4.12",
              "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.51",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.270",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.51",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.5",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc2",
                  "versionStartIncluding": "4.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nstaging: rtl8723bs: fix OOB read in rtw_action_frame_parse()\n\nrtw_action_frame_parse() takes a frame_len parameter but never\nactually checks it before indexing into the frame body:\n\n\tconst u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr);\n\t...\n\tc = frame_body[0];\n\t...\n\ta = frame_body[1];\n\nframe_body already points 24 bytes (sizeof(struct\nieee80211_hdr_3addr)) into frame, so reading frame_body[0] and\nframe_body[1] requires frame_len \u003e= 26. A management action frame\nshorter than that (e.g. exactly 24 bytes, the minimum a malicious\npeer can send) causes a 1-2 byte out-of-bounds read.\n\nThis is reachable from rtw_cfg80211_monitor_if_xmit_entry() and\ncfg80211_rtw_mgmt_tx() in ioctl_cfg80211.c, both of which pass\nattacker/user-influenced frame buffers and lengths straight through.\n\nAdd the missing length check before frame_body is dereferenced."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - rtw_action_frame_parse() is reached from rtw_cfg80211_rx_action() on received 802.11 public action frames (OnAction \u2192 on_action_public \u2192 on_action_public_default). A nearby attacker can inject a truncated management action frame over Wi-Fi; kernel CNA guidance maps Wi-Fi frame injection to Adjacent.\nAC:L - An adjacent attacker fully controls the action-frame length and 802.11 header. A 24- or 25-byte management action frame (header only, or header plus category) reliably hits the missing length check with no race or attacker-uncontrollable layout.\nPR:N - Public action frames are dispatched by mgt_dispatcher()/OnAction() with only a local-MAC match and no association or 802.11 authentication against the sender, so no local account or capability is required.\nUI:N - The rtl8723bs driver processes received management action frames automatically while the interface is up; no extra victim click, mount, or connect action is required at exploit time.\nS:U - The out-of-bounds read occurs in the host rtl8723bs driver and does not cross a VM, IOMMU, or other security-authority boundary.\nC:L - The flaw reads only one or two bytes past a truncated 24- or 25-byte action frame. Per kernel CNA guidance this is a strictly bounded out-of-bounds read, not an arbitrary read primitive.\nI:N - The bug is a read-only out-of-bounds access of the category/action bytes; those values are not used to write kernel memory or hijack control flow.\nA:H - A 1-2 byte kernel out-of-bounds read can oops or panic on KASAN, redzone, or hardened kernels, and an adjacent peer can repeat truncated action frames to deny availability."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-16T14:41:35.855Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/15081ff835b29e456da29303b32efc436df04695"
        },
        {
          "url": "https://git.kernel.org/stable/c/310aaa8058d19cc431aedac0f5bb814e84479393"
        },
        {
          "url": "https://git.kernel.org/stable/c/1410bce22351ba15d8e58287cbf09d55d7f21fc9"
        },
        {
          "url": "https://git.kernel.org/stable/c/0b7f64c7bb9664777168768c6b44affb07dcbf24"
        },
        {
          "url": "https://git.kernel.org/stable/c/136f9a3ab87ded8aaf081425cfb2059659dd9023"
        },
        {
          "url": "https://git.kernel.org/stable/c/b041e3f35e0d262d42a711094ab594634d72744a"
        },
        {
          "url": "https://git.kernel.org/stable/c/a54fd1a44862d263df9f8bc17fca3620be31addb"
        },
        {
          "url": "https://git.kernel.org/stable/c/ff917923f4fb9c83717ba135ee47d7e4c1567bb7"
        }
      ],
      "title": "staging: rtl8723bs: fix OOB read in rtw_action_frame_parse()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90017",
    "datePublished": "2026-09-16T10:33:22.827Z",
    "dateReserved": "2026-09-11T19:38:34.781Z",
    "dateUpdated": "2026-09-16T14:41:35.855Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "microsoft_vex": {
      "current_release_date": "2026-09-17T01:12:54.000Z",
      "cve": "CVE-2026-90017",
      "id": "msrc_CVE-2026-90017",
      "initial_release_date": "2026-09-17T01:12:54.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "staging: rtl8723bs: fix OOB read in rtw_action_frame_parse()",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-90017.json",
      "version": "1"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-90017\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-09-16T11:17:14.503\",\"lastModified\":\"2026-09-16T15:18:25.347\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nstaging: rtl8723bs: fix OOB read in rtw_action_frame_parse()\\n\\nrtw_action_frame_parse() takes a frame_len parameter but never\\nactually checks it before indexing into the frame body:\\n\\n\\tconst u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr);\\n\\t...\\n\\tc = frame_body[0];\\n\\t...\\n\\ta = frame_body[1];\\n\\nframe_body already points 24 bytes (sizeof(struct\\nieee80211_hdr_3addr)) into frame, so reading frame_body[0] and\\nframe_body[1] requires frame_len \u003e= 26. A management action frame\\nshorter than that (e.g. exactly 24 bytes, the minimum a malicious\\npeer can send) causes a 1-2 byte out-of-bounds read.\\n\\nThis is reachable from rtw_cfg80211_monitor_if_xmit_entry() and\\ncfg80211_rtw_mgmt_tx() in ioctl_cfg80211.c, both of which pass\\nattacker/user-influenced frame buffers and lengths straight through.\\n\\nAdd the missing length check before frame_body is dereferenced.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/staging/rtl8723bs/core/rtw_ieee80211.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"15081ff835b29e456da29303b32efc436df04695\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"310aaa8058d19cc431aedac0f5bb814e84479393\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"1410bce22351ba15d8e58287cbf09d55d7f21fc9\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"0b7f64c7bb9664777168768c6b44affb07dcbf24\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"136f9a3ab87ded8aaf081425cfb2059659dd9023\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"b041e3f35e0d262d42a711094ab594634d72744a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"a54fd1a44862d263df9f8bc17fca3620be31addb\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"554c0a3abf216c991c5ebddcdb2c08689ecd290b\",\"lessThan\":\"ff917923f4fb9c83717ba135ee47d7e4c1567bb7\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/staging/rtl8723bs/core/rtw_ieee80211.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.12\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.12\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.270\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.221\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.188\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.157\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.110\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.51\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2.5\",\"lessThanOrEqual\":\"7.2.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.3-rc2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H\",\"baseScore\":7.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"ADJACENT_NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":4.2}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0b7f64c7bb9664777168768c6b44affb07dcbf24\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/136f9a3ab87ded8aaf081425cfb2059659dd9023\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1410bce22351ba15d8e58287cbf09d55d7f21fc9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/15081ff835b29e456da29303b32efc436df04695\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/310aaa8058d19cc431aedac0f5bb814e84479393\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a54fd1a44862d263df9f8bc17fca3620be31addb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b041e3f35e0d262d42a711094ab594634d72744a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ff917923f4fb9c83717ba135ee47d7e4c1567bb7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}



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…