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

CVE-2026-72310 (GCVE-0-2026-72310)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:55 – Updated: 2026-08-17 05:42
VLAI
Title
smb: client: fix overflow in passthrough ioctl bounds check
Summary
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix overflow in passthrough ioctl bounds check smb2_ioctl_query_info() validates the PASSTHRU_FSCTL response payload before copying it to userspace. The payload offset and length both come from 32-bit fields. The bounds check currently adds OutputOffset and qi.input_buffer_length directly, so the addition can wrap in 32-bit arithmetic before the result is compared against the response buffer length. A malicious server can use a large OutputOffset and a small OutputCount to make the wrapped sum pass the bounds check. The later copy_to_user() then reads from io_rsp + OutputOffset, outside the response buffer. Use size_add() for the offset plus length check so overflow is treated as out of bounds.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < 175357ee0c596cb82054650dfa32fda51ad35aaa (git)
Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < dbd126539c098dba3159ce7d34b10b2daddcbd0f (git)
Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < 63feb687e89a3a52a31e6e01764117cc500f1974 (git)
Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < 160045fc943f6c46b227644261252c8a22b8a87a (git)
Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < b30771b69eafae750afb7385fbcc3d77ed3f3670 (git)
Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < 1627e7d5c9b09721a141d07cedb178882f1ded67 (git)
Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < 1a638c55f2db6cb2296e5e3138015dd8fd9d4aa9 (git)
Affected: 2b1116bbe898aefdf584838448c6869f69851e0f , < a4f27ad055392fa164f5649e89a3637b033c5fcc (git)
Affected: 2005c32ec99ee2490e8131b3953f3f212009ffea (git)
Affected: 5.4.69 , < 5.5 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 5.5
Unaffected: 0 , < 5.5 (semver)
Unaffected: 5.10.261 , ≤ 5.10.* (semver)
Unaffected: 5.15.212 , ≤ 5.15.* (semver)
Unaffected: 6.1.178 , ≤ 6.1.* (semver)
Unaffected: 6.6.145 , ≤ 6.6.* (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 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": [
            "fs/smb/client/smb2ops.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "175357ee0c596cb82054650dfa32fda51ad35aaa",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "lessThan": "dbd126539c098dba3159ce7d34b10b2daddcbd0f",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "lessThan": "63feb687e89a3a52a31e6e01764117cc500f1974",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "lessThan": "160045fc943f6c46b227644261252c8a22b8a87a",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "lessThan": "b30771b69eafae750afb7385fbcc3d77ed3f3670",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "lessThan": "1627e7d5c9b09721a141d07cedb178882f1ded67",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "lessThan": "1a638c55f2db6cb2296e5e3138015dd8fd9d4aa9",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "lessThan": "a4f27ad055392fa164f5649e89a3637b033c5fcc",
              "status": "affected",
              "version": "2b1116bbe898aefdf584838448c6869f69851e0f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2005c32ec99ee2490e8131b3953f3f212009ffea",
              "versionType": "git"
            },
            {
              "lessThan": "5.5",
              "status": "affected",
              "version": "5.4.69",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/client/smb2ops.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.5"
            },
            {
              "lessThan": "5.5",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.261",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "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": "5.10.261",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.212",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.178",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.69",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: fix overflow in passthrough ioctl bounds check\n\nsmb2_ioctl_query_info() validates the PASSTHRU_FSCTL response payload\nbefore copying it to userspace.\n\nThe payload offset and length both come from 32-bit fields. The bounds\ncheck currently adds OutputOffset and qi.input_buffer_length directly, so\nthe addition can wrap in 32-bit arithmetic before the result is compared\nagainst the response buffer length.\n\nA malicious server can use a large OutputOffset and a small OutputCount\nto make the wrapped sum pass the bounds check. The later copy_to_user()\nthen reads from io_rsp + OutputOffset, outside the response buffer.\n\nUse size_add() for the offset plus length check so overflow is treated as\nout of bounds."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - Exploitation requires processing a crafted SMB2 IOCTL response from a malicious SMB/CIFS server over TCP; the bug is in client-side parsing of attacker-controlled network protocol fields, not in a purely local code path.\nAC:L - A malicious server can reliably supply OutputOffset and OutputCount values that wrap the 32-bit bounds check and pass validation, deterministically triggering the out-of-bounds copy_to_user() without races or special victim state.\nPR:L - The PASSTHRU_FSCTL ioctl path requires CAP_SYS_ADMIN, which an unprivileged local user can obtain inside a user namespace and use to mount CIFS and issue CIFS_QUERY_INFO against an attacker-controlled server.\nUI:N - In the highest-impact scenario the attacker controls the full chain (user-namespace mount plus ioctl) and needs no separate victim action beyond their own exploitation steps.\nS:U - Impact is disclosure of kernel heap memory to the calling userspace process within the same kernel security authority; it does not cross VM, IOMMU, or sandbox boundaries.\nC:H - The integer overflow bypasses bounds checking so copy_to_user() reads qi.input_buffer_length bytes from io_rsp plus attacker-chosen OutputOffset outside the SMB response buffer, leaking adjacent kernel memory to userspace.\nI:N - The flaw is an out-of-bounds kernel read copied to userspace; it does not modify kernel memory, corrupt metadata, or provide a write or code-execution primitive.\nA:H - Reading far outside the allocated SMB response buffer can access unmapped kernel pages during copy_to_user(), causing a kernel fault, oops, or panic in addition to information disclosure."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:42:38.636Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/175357ee0c596cb82054650dfa32fda51ad35aaa"
        },
        {
          "url": "https://git.kernel.org/stable/c/dbd126539c098dba3159ce7d34b10b2daddcbd0f"
        },
        {
          "url": "https://git.kernel.org/stable/c/63feb687e89a3a52a31e6e01764117cc500f1974"
        },
        {
          "url": "https://git.kernel.org/stable/c/160045fc943f6c46b227644261252c8a22b8a87a"
        },
        {
          "url": "https://git.kernel.org/stable/c/b30771b69eafae750afb7385fbcc3d77ed3f3670"
        },
        {
          "url": "https://git.kernel.org/stable/c/1627e7d5c9b09721a141d07cedb178882f1ded67"
        },
        {
          "url": "https://git.kernel.org/stable/c/1a638c55f2db6cb2296e5e3138015dd8fd9d4aa9"
        },
        {
          "url": "https://git.kernel.org/stable/c/a4f27ad055392fa164f5649e89a3637b033c5fcc"
        }
      ],
      "title": "smb: client: fix overflow in passthrough ioctl bounds check",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72310",
    "datePublished": "2026-08-15T05:55:26.539Z",
    "dateReserved": "2026-08-09T03:40:39.918Z",
    "dateUpdated": "2026-08-17T05:42:38.636Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72310",
      "date": "2026-09-04",
      "epss": "0.00643",
      "percentile": "0.48484"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72310\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:22:03.777\",\"lastModified\":\"2026-08-17T06:18:34.077\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nsmb: client: fix overflow in passthrough ioctl bounds check\\n\\nsmb2_ioctl_query_info() validates the PASSTHRU_FSCTL response payload\\nbefore copying it to userspace.\\n\\nThe payload offset and length both come from 32-bit fields. The bounds\\ncheck currently adds OutputOffset and qi.input_buffer_length directly, so\\nthe addition can wrap in 32-bit arithmetic before the result is compared\\nagainst the response buffer length.\\n\\nA malicious server can use a large OutputOffset and a small OutputCount\\nto make the wrapped sum pass the bounds check. The later copy_to_user()\\nthen reads from io_rsp + OutputOffset, outside the response buffer.\\n\\nUse size_add() for the offset plus length check so overflow is treated as\\nout of bounds.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/smb/client/smb2ops.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"175357ee0c596cb82054650dfa32fda51ad35aaa\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"dbd126539c098dba3159ce7d34b10b2daddcbd0f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"63feb687e89a3a52a31e6e01764117cc500f1974\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"160045fc943f6c46b227644261252c8a22b8a87a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"b30771b69eafae750afb7385fbcc3d77ed3f3670\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"1627e7d5c9b09721a141d07cedb178882f1ded67\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"1a638c55f2db6cb2296e5e3138015dd8fd9d4aa9\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2b1116bbe898aefdf584838448c6869f69851e0f\",\"lessThan\":\"a4f27ad055392fa164f5649e89a3637b033c5fcc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2005c32ec99ee2490e8131b3953f3f212009ffea\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5.4.69\",\"lessThan\":\"5.5\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/smb/client/smb2ops.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.5\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.5\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.261\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.212\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.178\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.145\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.97\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.40\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.5\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"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:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H\",\"baseScore\":8.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":5.2}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/160045fc943f6c46b227644261252c8a22b8a87a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1627e7d5c9b09721a141d07cedb178882f1ded67\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/175357ee0c596cb82054650dfa32fda51ad35aaa\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1a638c55f2db6cb2296e5e3138015dd8fd9d4aa9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/63feb687e89a3a52a31e6e01764117cc500f1974\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a4f27ad055392fa164f5649e89a3637b033c5fcc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b30771b69eafae750afb7385fbcc3d77ed3f3670\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/dbd126539c098dba3159ce7d34b10b2daddcbd0f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-17T13:41:00+00:00",
      "cve": "CVE-2026-72310",
      "id": "CVE-2026-72310",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "232",
      "product_status:known_not_affected": "42",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: smb: client: fix overflow in passthrough ioctl bounds check",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72310.json",
      "version": "3"
    }
  }
}



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…

Loading…