CVE-2026-74336 (GCVE-0-2026-74336)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:58 – Updated: 2026-08-17 05:17
VLAI
Title
wifi: mac80211: bound S1G TIM PVB walk to the TIM element
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: bound S1G TIM PVB walk to the TIM element ieee80211_s1g_check_tim() parses the S1G Partial Virtual Bitmap (PVB) of a received TIM element. The TIM is handed in as the element payload: ieee802_11_parse_elems_full() stores elems->tim = elem->data and elems->tim_len = elem->datalen (net/mac80211/parse.c), so the valid bytes are [tim, tim + tim_len). When walking the encoded blocks the function passes the walker an end sentinel of (const u8 *)tim + tim_len + 2, i.e. two bytes past the end of the element. ieee80211_s1g_find_target_block() loops while (ptr + 1 <= end) and dereferences ptr (and the per-mode ieee80211_s1g_len_*() helpers read *ptr), so it can read up to two bytes beyond the TIM element -- an out-of-bounds read of adjacent skb/heap data when the TIM is the last element in the frame. The +2 appears to account for the element id/len header, but tim already points past that header at the element payload, so the addend is wrong. Pass the correct element end, (const u8 *)tim + tim_len.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: e0c47c6229c25b54440fe1f84a0ff533942290b1 , < 3abc13ec3ac28c343ad7e7b7496e807b924f0edd (git)
Affected: e0c47c6229c25b54440fe1f84a0ff533942290b1 , < b224d18b1e5d1cddfc67f63f41d80023b2ec8889 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.18
Unaffected: 0 , < 6.18 (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/linux/ieee80211-s1g.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3abc13ec3ac28c343ad7e7b7496e807b924f0edd",
              "status": "affected",
              "version": "e0c47c6229c25b54440fe1f84a0ff533942290b1",
              "versionType": "git"
            },
            {
              "lessThan": "b224d18b1e5d1cddfc67f63f41d80023b2ec8889",
              "status": "affected",
              "version": "e0c47c6229c25b54440fe1f84a0ff533942290b1",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/linux/ieee80211-s1g.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "lessThan": "6.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: bound S1G TIM PVB walk to the TIM element\n\nieee80211_s1g_check_tim() parses the S1G Partial Virtual Bitmap (PVB) of a\nreceived TIM element. The TIM is handed in as the element payload:\nieee802_11_parse_elems_full() stores elems-\u003etim = elem-\u003edata and\nelems-\u003etim_len = elem-\u003edatalen (net/mac80211/parse.c), so the valid bytes\nare [tim, tim + tim_len).\n\nWhen walking the encoded blocks the function passes the walker an end\nsentinel of (const u8 *)tim + tim_len + 2, i.e. two bytes past the end of\nthe element. ieee80211_s1g_find_target_block() loops while (ptr + 1 \u003c= end)\nand dereferences ptr (and the per-mode ieee80211_s1g_len_*() helpers read\n*ptr), so it can read up to two bytes beyond the TIM element -- an\nout-of-bounds read of adjacent skb/heap data when the TIM is the last\nelement in the frame. The +2 appears to account for the element id/len\nheader, but tim already points past that header at the element payload, so\nthe addend is wrong.\n\nPass the correct element end, (const u8 *)tim + tim_len."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:17:27.975Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3abc13ec3ac28c343ad7e7b7496e807b924f0edd"
        },
        {
          "url": "https://git.kernel.org/stable/c/b224d18b1e5d1cddfc67f63f41d80023b2ec8889"
        }
      ],
      "title": "wifi: mac80211: bound S1G TIM PVB walk to the TIM element",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74336",
    "datePublished": "2026-08-15T05:58:27.799Z",
    "dateReserved": "2026-08-15T05:44:03.885Z",
    "dateUpdated": "2026-08-17T05:17:27.975Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74336",
      "date": "2026-09-21",
      "epss": "0.00155",
      "percentile": "0.05107"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "include/linux/ieee80211-s1g.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "3abc13ec3ac28c343ad7e7b7496e807b924f0edd",
                    "status": "affected",
                    "version": "e0c47c6229c25b54440fe1f84a0ff533942290b1",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "b224d18b1e5d1cddfc67f63f41d80023b2ec8889",
                    "status": "affected",
                    "version": "e0c47c6229c25b54440fe1f84a0ff533942290b1",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "include/linux/ieee80211-s1g.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.18"
                  },
                  {
                    "lessThan": "6.18",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "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: mac80211: bound S1G TIM PVB walk to the TIM element\n\nieee80211_s1g_check_tim() parses the S1G Partial Virtual Bitmap (PVB) of a\nreceived TIM element. The TIM is handed in as the element payload:\nieee802_11_parse_elems_full() stores elems-\u003etim = elem-\u003edata and\nelems-\u003etim_len = elem-\u003edatalen (net/mac80211/parse.c), so the valid bytes\nare [tim, tim + tim_len).\n\nWhen walking the encoded blocks the function passes the walker an end\nsentinel of (const u8 *)tim + tim_len + 2, i.e. two bytes past the end of\nthe element. ieee80211_s1g_find_target_block() loops while (ptr + 1 \u003c= end)\nand dereferences ptr (and the per-mode ieee80211_s1g_len_*() helpers read\n*ptr), so it can read up to two bytes beyond the TIM element -- an\nout-of-bounds read of adjacent skb/heap data when the TIM is the last\nelement in the frame. The +2 appears to account for the element id/len\nheader, but tim already points past that header at the element payload, so\nthe addend is wrong.\n\nPass the correct element end, (const u8 *)tim + tim_len."
          }
        ],
        "id": "CVE-2026-74336",
        "lastModified": "2026-08-17T06:19:28.073",
        "metrics": {},
        "published": "2026-08-15T06:22:34.510",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3abc13ec3ac28c343ad7e7b7496e807b924f0edd"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b224d18b1e5d1cddfc67f63f41d80023b2ec8889"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-20T18:16:04+00:00",
      "cve": "CVE-2026-74336",
      "id": "CVE-2026-74336",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: wifi: mac80211: bound S1G TIM PVB walk to the TIM element",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74336.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:22:44Z",
      "cve": "CVE-2026-74336",
      "id": "CVE-2026-74336",
      "initial_release_date": "2026-08-27T16:51:50Z",
      "product_status:known_affected": "12",
      "product_status:known_not_affected": "350",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-74336",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-74336.json",
      "version": "4"
    }
  }
}



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…