CVE-2026-90403 (GCVE-0-2026-90403)

Vulnerability from cvelistv5 – Published: 2026-09-17 16:09 – Updated: 2026-09-18 17:55
VLAI
Title
wifi: rtlwifi: pci: fix error path in rtl_pci_probe()
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: pci: fix error path in rtl_pci_probe() In the last error path in rtl_pci_probe(), the cleanup functions are skipped due to a wrong goto label. Moreover, the successful call to rtl_init_rfkill(), ieee80211_register_hw(), rtl_debug_add_one() have to be reverted. Fix this issue by updating the labels and adding the relevant cleanup functions to the last error path.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < 2634998247d24be34ba16a7666f31815ef1da00b (git)
Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < cfd6824dd1d151ab3abc00117b3774c8056006e0 (git)
Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < 86e6187f8525c8f8219eb49e022eba854cc6ab86 (git)
Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < aef178ffae5420afdbf46f7133ed28bd4248e15c (git)
Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < b42fcfb097da46f0e86564736ced939e83cb8442 (git)
Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < a89818977338ba71194b1ab1d071f0c0848b1e13 (git)
Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < 1b68b6e529ce75112fab98e89583a76370ca394b (git)
Affected: 0c8173385e549f95cd80c3fff5aab87b4f881d8d , < 3c2999d13eeb222ae56631aeb7ca248090f2b210 (git)
guessed Create a notification for this product.
Linux Linux Affected: 2.6.38
Unaffected: 0 , < 2.6.38 (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.52 , ≤ 6.18.* (semver)
Unaffected: 7.2.6 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (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/net/wireless/realtek/rtlwifi/pci.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "2634998247d24be34ba16a7666f31815ef1da00b",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            },
            {
              "lessThan": "cfd6824dd1d151ab3abc00117b3774c8056006e0",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            },
            {
              "lessThan": "86e6187f8525c8f8219eb49e022eba854cc6ab86",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            },
            {
              "lessThan": "aef178ffae5420afdbf46f7133ed28bd4248e15c",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            },
            {
              "lessThan": "b42fcfb097da46f0e86564736ced939e83cb8442",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            },
            {
              "lessThan": "a89818977338ba71194b1ab1d071f0c0848b1e13",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            },
            {
              "lessThan": "1b68b6e529ce75112fab98e89583a76370ca394b",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            },
            {
              "lessThan": "3c2999d13eeb222ae56631aeb7ca248090f2b210",
              "status": "affected",
              "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/realtek/rtlwifi/pci.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.38"
            },
            {
              "lessThan": "2.6.38",
              "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.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.270",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "2.6.38",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: rtlwifi: pci: fix error path in rtl_pci_probe()\n\nIn the last error path in rtl_pci_probe(), the cleanup functions are\nskipped due to a wrong goto label. Moreover, the successful call to\nrtl_init_rfkill(), ieee80211_register_hw(), rtl_debug_add_one() have to\nbe reverted. Fix this issue by updating the labels and adding the\nrelevant cleanup functions to the last error path."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The UAF is only on rtl_pci_probe()\u0027s last error path, when rtl_pci_intr_mode_decide() fails and the old code jumped to fail3. That path is reached from local_pci_probe() as the .probe of rtl8192ce/rtl8188ee/rtl8192ee/rtl8723be and related pci_driver tables (e.g. Realtek 0x8191/0x8178). 802.11 frames never enter rtl_pci_probe.\nAC:H - The only trigger is pci_enable_msi() or request_irq(pdev-\u003eirq, _rtl_pci_interrupt, IRQF_SHARED) failing after ieee80211_register_hw() has already succeeded. pdev-\u003eirq is assigned by the host PCI/ACPI code, and the subsequent irqaction kzalloc is tiny compared with earlier ring and wiphy allocations, so an attacker cannot reliably force that failure.\nPR:L - Once fail3 has run ieee80211_free_hw() on the still-registered hw, the leftover default wlan vif from ieee80211_if_add(), cfg80211 wiphy, inetaddr notifiers, and rfkill poll are reachable via nl80211 or any netns address change without init-namespace root or PCI sysfs bind.\nUI:N - No victim must mount media or associate to a network; after the failed probe unwind, the attacker\u2019s own nl80211 use of the leftover wlan vif, an inetaddr change, or cfg80211_rfkill_poll touches the still-registered ieee80211_local.\nS:U - ieee80211_free_hw() frees the still-registered ieee80211_local/wiphy while mac80211 still holds it; impact is host-kernel heap corruption, not a VM, IOMMU, or sandbox escape.\nC:H - fail3 calls ieee80211_free_hw() without ieee80211_unregister_hw(), so cfg80211_rfkill_poll \u2192 ieee80211_rfkill_poll and nl80211 still dereference the kfree\u0027d ieee80211_local, wiphy bands, and default STA vif, a UAF read primitive.\nI:H - The leftover objects are written by ieee80211_ifa_changed (inetaddr notifier), mac80211 workqueues never torn down by ieee80211_unregister_hw(), and rtl_op_rfkill_poll via wiphy_rfkill_start_polling, enabling UAF writes and control-flow hijack.\nA:H - ieee80211_free_hw() without ieee80211_unregister_hw() leaves mac80211 workqueues, inetaddr notifiers, the default wlan vif, and rfkill polling running against freed ieee80211_local, which oopses or panics on the next access."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-18T17:55:10.835Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/2634998247d24be34ba16a7666f31815ef1da00b"
        },
        {
          "url": "https://git.kernel.org/stable/c/cfd6824dd1d151ab3abc00117b3774c8056006e0"
        },
        {
          "url": "https://git.kernel.org/stable/c/86e6187f8525c8f8219eb49e022eba854cc6ab86"
        },
        {
          "url": "https://git.kernel.org/stable/c/aef178ffae5420afdbf46f7133ed28bd4248e15c"
        },
        {
          "url": "https://git.kernel.org/stable/c/b42fcfb097da46f0e86564736ced939e83cb8442"
        },
        {
          "url": "https://git.kernel.org/stable/c/a89818977338ba71194b1ab1d071f0c0848b1e13"
        },
        {
          "url": "https://git.kernel.org/stable/c/1b68b6e529ce75112fab98e89583a76370ca394b"
        },
        {
          "url": "https://git.kernel.org/stable/c/3c2999d13eeb222ae56631aeb7ca248090f2b210"
        }
      ],
      "title": "wifi: rtlwifi: pci: fix error path in rtl_pci_probe()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90403",
    "datePublished": "2026-09-17T16:09:32.824Z",
    "dateReserved": "2026-09-11T19:38:34.811Z",
    "dateUpdated": "2026-09-18T17:55:10.835Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-90403",
      "date": "2026-09-29",
      "epss": "0.00156",
      "percentile": "0.0402"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/wireless/realtek/rtlwifi/pci.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "2634998247d24be34ba16a7666f31815ef1da00b",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "cfd6824dd1d151ab3abc00117b3774c8056006e0",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "86e6187f8525c8f8219eb49e022eba854cc6ab86",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "aef178ffae5420afdbf46f7133ed28bd4248e15c",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "b42fcfb097da46f0e86564736ced939e83cb8442",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a89818977338ba71194b1ab1d071f0c0848b1e13",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "1b68b6e529ce75112fab98e89583a76370ca394b",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "3c2999d13eeb222ae56631aeb7ca248090f2b210",
                    "status": "affected",
                    "version": "0c8173385e549f95cd80c3fff5aab87b4f881d8d",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/wireless/realtek/rtlwifi/pci.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "2.6.38"
                  },
                  {
                    "lessThan": "2.6.38",
                    "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.52",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "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: rtlwifi: pci: fix error path in rtl_pci_probe()\n\nIn the last error path in rtl_pci_probe(), the cleanup functions are\nskipped due to a wrong goto label. Moreover, the successful call to\nrtl_init_rfkill(), ieee80211_register_hw(), rtl_debug_add_one() have to\nbe reverted. Fix this issue by updating the labels and adding the\nrelevant cleanup functions to the last error path."
          }
        ],
        "id": "CVE-2026-90403",
        "lastModified": "2026-09-18T18:17:57.630",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "HIGH",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.0,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.0,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-17T17:17:40.100",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/1b68b6e529ce75112fab98e89583a76370ca394b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2634998247d24be34ba16a7666f31815ef1da00b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3c2999d13eeb222ae56631aeb7ca248090f2b210"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/86e6187f8525c8f8219eb49e022eba854cc6ab86"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a89818977338ba71194b1ab1d071f0c0848b1e13"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/aef178ffae5420afdbf46f7133ed28bd4248e15c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b42fcfb097da46f0e86564736ced939e83cb8442"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/cfd6824dd1d151ab3abc00117b3774c8056006e0"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-22T16:28:41Z",
      "cve": "CVE-2026-90403",
      "id": "CVE-2026-90403",
      "initial_release_date": "2026-09-22T16:28:41Z",
      "product_status:known_affected": "269",
      "product_status:known_not_affected": "78",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-90403",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-90403.json",
      "version": "2"
    }
  }
}



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…

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…