CVE-2026-98261 (GCVE-0-2026-98261)

Vulnerability from cvelistv5 – Published: 2026-10-06 08:45 – Updated: 2026-10-07 06:49
VLAI
Title
cifs: Fix server use-after-free in cifs_chan_skip_or_disable()
Summary
In the Linux kernel, the following vulnerability has been resolved: cifs: Fix server use-after-free in cifs_chan_skip_or_disable() When a secondary channel is no longer supported by the server, cifs_chan_skip_or_disable() drops the channel reference with cifs_put_tcp_session() and then continues to use the server pointer by calling cifs_signal_cifsd_for_reconnect() on it and reading its primary_server pointer. cifs_put_tcp_session() can drop the last reference of the channel and tear it down, so both the channel and the primary server (whose reference is also dropped by cifs_put_tcp_session()) can be freed before they are signaled for reconnect. Signal the channel and the primary server and capture the primary server pointer before dropping the channel reference with cifs_put_tcp_session().
Assigner
Linux CNA under the mitre root
CNA scorecard D 54/100 over 6633 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 50e8363ecc85da49764781da90ebffe1a657b370 , < 0338489960ddad6368bce55e8adbc176c523093d (git)
Affected: f591062bdbf4742b7f1622173017f19e927057b0 , < edd52eae5fcfb8433b6bb0e7cd98db438fe01227 (git)
Affected: f591062bdbf4742b7f1622173017f19e927057b0 , < fcc0a935bb6e37ecbf7e4335061309f896f35780 (git)
Affected: f591062bdbf4742b7f1622173017f19e927057b0 , < 7a1b27780b113583a94256d58dabfe7c0d9286e7 (git)
Affected: f591062bdbf4742b7f1622173017f19e927057b0 , < 717e0a25036b6c92cecace30913b2d874a4c22b8 (git)
Affected: d61ba1d71ea6039eca7ada870bf3f0c3c8fc12e4 (git)
Affected: 6.6.15 , < 6.6.158 (semver)
Affected: 6.7.3 , < 6.8 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.8
Unaffected: 0 , < 6.8 (semver)
Unaffected: 6.6.158 , ≤ 6.6.* (semver)
Unaffected: 6.12.112 , ≤ 6.12.* (semver)
Unaffected: 6.18.54 , ≤ 6.18.* (semver)
Unaffected: 7.2.8 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc4 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/client/smb2pdu.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "0338489960ddad6368bce55e8adbc176c523093d",
              "status": "affected",
              "version": "50e8363ecc85da49764781da90ebffe1a657b370",
              "versionType": "git"
            },
            {
              "lessThan": "edd52eae5fcfb8433b6bb0e7cd98db438fe01227",
              "status": "affected",
              "version": "f591062bdbf4742b7f1622173017f19e927057b0",
              "versionType": "git"
            },
            {
              "lessThan": "fcc0a935bb6e37ecbf7e4335061309f896f35780",
              "status": "affected",
              "version": "f591062bdbf4742b7f1622173017f19e927057b0",
              "versionType": "git"
            },
            {
              "lessThan": "7a1b27780b113583a94256d58dabfe7c0d9286e7",
              "status": "affected",
              "version": "f591062bdbf4742b7f1622173017f19e927057b0",
              "versionType": "git"
            },
            {
              "lessThan": "717e0a25036b6c92cecace30913b2d874a4c22b8",
              "status": "affected",
              "version": "f591062bdbf4742b7f1622173017f19e927057b0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "d61ba1d71ea6039eca7ada870bf3f0c3c8fc12e4",
              "versionType": "git"
            },
            {
              "lessThan": "6.6.158",
              "status": "affected",
              "version": "6.6.15",
              "versionType": "semver"
            },
            {
              "lessThan": "6.8",
              "status": "affected",
              "version": "6.7.3",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/client/smb2pdu.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.8"
            },
            {
              "lessThan": "6.8",
              "status": "unaffected",
              "version": "0",
              "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-rc4",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.158",
                  "versionStartIncluding": "6.6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.112",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.54",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.8",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc4",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.7.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncifs: Fix server use-after-free in cifs_chan_skip_or_disable()\n\nWhen a secondary channel is no longer supported by the server,\ncifs_chan_skip_or_disable() drops the channel reference with\ncifs_put_tcp_session() and then continues to use the server pointer by\ncalling cifs_signal_cifsd_for_reconnect() on it and reading its\nprimary_server pointer. cifs_put_tcp_session() can drop the last\nreference of the channel and tear it down, so both the channel and the\nprimary server (whose reference is also dropped by\ncifs_put_tcp_session()) can be freed before they are signaled for\nreconnect.\n\nSignal the channel and the primary server and capture the primary\nserver pointer before dropping the channel reference with\ncifs_put_tcp_session()."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The trigger is the SMB2 NEGOTIATE response a remote server sends while a secondary channel reconnects. If it omits SMB2_GLOBAL_CAP_MULTI_CHANNEL with chan_count\u003e1, smb2_reconnect() calls smb3_update_ses_channels(disable_mchan=true) and then cifs_chan_skip_or_disable(). That function drops the channel\u0027s last reference and then uses the server.\nAC:H - cifs_put_tcp_session() only SIGKILLs the channel\u0027s cifsd thread. clean_demultiplex_info() sleeps at least 125 ms before kfree_sensitive(server), and the freed accesses (set_need_reco, server-\u003eprimary_server) run a few instructions after the put. The reconnecting thread must be descheduled across that window, which the remote attacker cannot control. The attacker must also be the server or on-path.\nPR:N - The attacker acts as the SMB server or an on-path party and needs no account or privilege on the client. The capability check runs in smb2_reconnect() right after cifs_negotiate_protocol(), before cifs_setup_session() authenticates anything.\nUI:N - An on-path attacker can force a reconnect of an existing multichannel mount and forge the unsigned NEGOTIATE response, so the victim takes no action. Signing and the 3.1.1 preauth hash are checked only after the bug fires.\nS:U - The freed TCP_Server_Info and the code using it are both in the client kernel, so this is a kernel memory-safety issue within the same security authority.\nC:H - After the freed channel TCP_Server_Info is reused, cifs_chan_skip_or_disable() reads server-\u003eprimary_server out of it and dereferences that pointer. An attacker who controls the reallocated object controls that pointer.\nI:H - cifs_signal_cifsd_for_reconnect() spin-locks and writes tcpStatus first in the freed channel and then through the primary_server pointer read from it. With the memory reallocated, that is a lock and write at an attacker-influenced address.\nA:H - Taking srv_lock and writing tcpStatus in a freed TCP_Server_Info, or following a stale primary_server pointer, can corrupt the slab or oops the client kernel."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-07T06:49:48.854Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/0338489960ddad6368bce55e8adbc176c523093d"
        },
        {
          "url": "https://git.kernel.org/stable/c/edd52eae5fcfb8433b6bb0e7cd98db438fe01227"
        },
        {
          "url": "https://git.kernel.org/stable/c/fcc0a935bb6e37ecbf7e4335061309f896f35780"
        },
        {
          "url": "https://git.kernel.org/stable/c/7a1b27780b113583a94256d58dabfe7c0d9286e7"
        },
        {
          "url": "https://git.kernel.org/stable/c/717e0a25036b6c92cecace30913b2d874a4c22b8"
        }
      ],
      "title": "cifs: Fix server use-after-free in cifs_chan_skip_or_disable()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98261",
    "datePublished": "2026-10-06T08:45:25.361Z",
    "dateReserved": "2026-09-25T10:25:14.332Z",
    "dateUpdated": "2026-10-07T06:49:48.854Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-98261",
      "date": "2026-10-09",
      "epss": "0.00441",
      "percentile": "0.36311"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/smb/client/smb2pdu.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "0338489960ddad6368bce55e8adbc176c523093d",
                    "status": "affected",
                    "version": "50e8363ecc85da49764781da90ebffe1a657b370",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "edd52eae5fcfb8433b6bb0e7cd98db438fe01227",
                    "status": "affected",
                    "version": "f591062bdbf4742b7f1622173017f19e927057b0",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "fcc0a935bb6e37ecbf7e4335061309f896f35780",
                    "status": "affected",
                    "version": "f591062bdbf4742b7f1622173017f19e927057b0",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7a1b27780b113583a94256d58dabfe7c0d9286e7",
                    "status": "affected",
                    "version": "f591062bdbf4742b7f1622173017f19e927057b0",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "717e0a25036b6c92cecace30913b2d874a4c22b8",
                    "status": "affected",
                    "version": "f591062bdbf4742b7f1622173017f19e927057b0",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "d61ba1d71ea6039eca7ada870bf3f0c3c8fc12e4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6.6.158",
                    "status": "affected",
                    "version": "6.6.15",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.8",
                    "status": "affected",
                    "version": "6.7.3",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/smb/client/smb2pdu.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.8"
                  },
                  {
                    "lessThan": "6.8",
                    "status": "unaffected",
                    "version": "0",
                    "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-rc4",
                    "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\ncifs: Fix server use-after-free in cifs_chan_skip_or_disable()\n\nWhen a secondary channel is no longer supported by the server,\ncifs_chan_skip_or_disable() drops the channel reference with\ncifs_put_tcp_session() and then continues to use the server pointer by\ncalling cifs_signal_cifsd_for_reconnect() on it and reading its\nprimary_server pointer. cifs_put_tcp_session() can drop the last\nreference of the channel and tear it down, so both the channel and the\nprimary server (whose reference is also dropped by\ncifs_put_tcp_session()) can be freed before they are signaled for\nreconnect.\n\nSignal the channel and the primary server and capture the primary\nserver pointer before dropping the channel reference with\ncifs_put_tcp_session()."
          }
        ],
        "id": "CVE-2026-98261",
        "lastModified": "2026-10-07T07:17:07.403",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.2,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-10-06T09:18:15.200",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/0338489960ddad6368bce55e8adbc176c523093d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/717e0a25036b6c92cecace30913b2d874a4c22b8"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7a1b27780b113583a94256d58dabfe7c0d9286e7"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/edd52eae5fcfb8433b6bb0e7cd98db438fe01227"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/fcc0a935bb6e37ecbf7e4335061309f896f35780"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-10-08T16:49:03Z",
      "cve": "CVE-2026-98261",
      "id": "CVE-2026-98261",
      "initial_release_date": "2026-10-08T16:49:03Z",
      "product_status:known_not_affected": "347",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-98261",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-98261.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…