Skip to content
Heist/ feed
Back to feed
CriticalFix available

smb/client: handle overlapping allocated ranges in fallocate

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: smb/client: handle overlapping allocated ranges in fallocate smb3_simple_fallocate_range() can skip holes when an allocated range returned by the server starts before the current fallocate offset. The skipped hole is not zero-filled, but fallocate still returns success. A later write to that hole may therefore fail with ENOSPC. The function queries allocated ranges so that it can preserve existing contents and write zeroes only into holes. However, the server may return a range that starts before the current fallocate offset. For example, assume the fallocate request is [100, 400) and the only allocated range returned by the server is [0, 200): Request: [100, 400) Server range: [ 0, 200) allocated Correct: [100, 200) allocated data, skip [200, 400) hole, zero-fill Current: [100, 300) skipped [300, 400) zero-filled afterwards The current code adds the full server range length, 200, to the current offset 100 and moves to 300. As a result, the hole in [200, 300) is skipped without being zero-filled. Fix this by advancing only over the part of the allocated range that overlaps the current fallocate offset. Ignore ranges that end before the current offset and reject ranges whose end offset overflows. This also prevents a malformed range length from causing an out-of-bounds zero-buffer read.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.265, 5.15.216, 6.1.183, 6.12.101, 6.18.42, 6.6.148, 7.1.6
CVEs
CVE-2026-68388
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 19:39 UTC · Revision 1

Source evidence

smb/client: handle overlapping allocated ranges in fallocate

core-osv · Original source

Published 10 Aug 2026, 12:04 UTC

In the Linux kernel, the following vulnerability has been resolved: smb/client: handle overlapping allocated ranges in fallocate smb3_simple_fallocate_range() can skip holes when an allocated range returned by the server starts before the current fallocate offset. The skipped hole is not zero-filled, but fallocate still returns success. A later write to that hole may therefore fail with ENOSPC. The function queries allocated ranges so that it can preserve existing contents and write zeroes only into holes. However, the server may return a range that starts before the current fallocate offset. For example, assume the fallocate request is [100, 400) and the only allocated range returned by the server is [0, 200): Request: [100, 400) Server range: [ 0, 200) allocated Correct: [100, 200) allocated data, skip [200, 400) hole, zero-fill Current: [100, 300) skipped [300, 400) zero-filled afterwards The current code adds the full server range length, 200, to the current offset 100 and moves to 300. As a result, the hole in [200, 300) is skipped without being zero-filled. Fix this by advancing only over the part of the allocated range that overlaps the current fallocate offset. Ignore ranges that end before the current offset and reject ranges whose end offset overflows. This also prevents a malformed range length from causing an out-of-bounds zero-buffer read.

osv:CVE-2026-68388

Kernel

Fixed versions: 5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101, 6.18.42, 7.1.6

Complete source record
{
  "id": "2a114203f8a64e7bc2156f51f66054d262206abc895110eb64768c8b94aea0c1",
  "url": "https://osv.dev/vulnerability/CVE-2026-68388",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "smb/client: handle overlapping allocated ranges in fallocate",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: smb/client: handle overlapping allocated ranges in fallocate smb3_simple_fallocate_range() can skip holes when an allocated range returned by the server starts before the current fallocate offset. The skipped hole is not zero-filled, but fallocate still returns success. A later write to that hole may therefore fail with ENOSPC. The function queries allocated ranges so that it can preserve existing contents and write zeroes only into holes. However, the server may return a range that starts before the current fallocate offset. For example, assume the fallocate request is [100, 400) and the only allocated range returned by the server is [0, 200): Request: [100, 400) Server range: [ 0, 200) allocated Correct: [100, 200) allocated data, skip [200, 400) hole, zero-fill Current: [100, 300) skipped [300, 400) zero-filled afterwards The current code adds the full server range length, 200, to the current offset 100 and moves to 300. As a result, the hole in [200, 300) is skipped without being zero-filled. Fix this by advancing only over the part of the allocated range that overlaps the current fallocate offset. Ignore ranges that end before the current offset and reject ranges whose end offset overflows. This also prevents a malformed range length from causing an out-of-bounds zero-buffer read.",
    "evidence": "osv:CVE-2026-68388",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.265",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.216",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.183",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.148",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.101",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.42",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.1.6",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-68388",
      "aliases": [
        "CVE-2026-68388"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "c406bb9ece6ef63721daab106f132ff4b4234e81"
                },
                {
                  "fixed": "aeb58a4eb39a7ff4d7782b4f4ada0fda5e0675d2"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "966a3cb7c7db786452a87afdc3b48858fc4d4d6b"
                },
                {
                  "fixed": "01719883235507b1585e4c51e320d9a7113dc698"
                },
                {
                  "fixed": "f47c7277c03a636fcc3a57969f2dc09567b3c050"
                },
                {
                  "fixed": "437637f5ff3f573b2edf8571de91fb00a21eb4e6"
                },
                {
                  "fixed": "377fe3e583e46369ee1004d5cfe12271d6589a68"
                },
                {
                  "fixed": "7e08ab7a061b17ac1989a225c6afb53f44a86808"
                },
                {
                  "fixed": "a4a09e5142835633fffbde68bd0a039ba4d4bf97"
                },
                {
                  "fixed": "b09ae45d85dc816987a71db9eebc54b0ae288e94"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5.10.50"
                },
                {
                  "fixed": "5.10.265"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5.12.17"
                },
                {
                  "fixed": "5.13"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5.13.2"
                },
                {
                  "fixed": "5.14"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2f9f4a2d0e6fcf0673ed51195e06e47abe966900"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5e397c943424de94879830e72c95f2679e297a76"
                }
              ]
            }
          ],
          "versions": [
            "v5.10.264",
            "v5.10.263",
            "v5.10.262",
            "v5.10.261",
            "v5.10.260",
            "v5.10.259",
            "v5.10.258",
            "v5.10.257",
            "v5.10.256",
            "v5.10.255",
            "v5.10.254",
            "v5.10.253",
            "v5.10.252",
            "v5.10.251",
            "v5.10.250",
            "v5.10.249",
            "v5.10.248",
            "v5.10.247",
            "v5.10.246",
            "v5.10.245",
            "v5.10.244",
            "v5.10.243",
            "v5.10.242",
            "v5.10.241",
            "v5.10.240",
            "v5.10.239",
            "v5.10.238",
            "v5.10.237",
            "v5.10.236",
            "v5.10.235",
            "v5.10.234",
            "v5.10.233",
            "v5.10.232",
            "v5.10.231",
            "v5.10.230",
            "v5.10.229",
            "v5.10.228",
            "v5.10.227",
            "v5.10.226",
            "v5.10.225",
            "v5.10.224",
            "v5.10.223",
            "v5.10.222",
            "v5.10.221",
            "v5.10.220",
            "v5.10.219",
            "v5.10.218",
            "v5.10.217",
            "v5.10.216",
            "v5.10.215",
            "v5.10.214",
            "v5.10.213",
            "v5.10.212",
            "v5.10.211",
            "v5.10.210",
            "v5.10.209",
            "v5.10.208",
            "v5.10.207",
            "v5.10.206",
            "v5.10.205",
            "v5.10.204",
            "v5.10.203",
            "v5.10.202",
            "v5.10.201",
            "v5.10.200",
            "v5.10.199",
            "v5.10.198",
            "v5.10.197",
            "v5.10.196",
            "v5.10.195",
            "v5.10.194",
            "v5.10.193",
            "v5.10.192",
            "v5.10.191",
            "v5.10.190",
            "v5.10.189",
            "v5.10.188",
            "v5.10.187",
            "v5.10.186",
            "v5.10.185",
            "v5.10.184",
            "v5.10.183",
            "v5.10.182",
            "v5.10.181",
            "v5.10.180",
            "v5.10.179",
            "v5.10.178",
            "v5.10.177",
            "v5.10.176",
            "v5.10.175",
            "v5.10.174",
            "v5.10.173",
            "v5.10.172",
            "v5.10.171",
            "v5.10.170",
            "v5.10.169",
            "v5.10.168",
            "v5.10.167",
            "v5.10.166",
            "v5.10.165",
            "v5.10.164",
            "v5.10.163",
            "v5.10.162",
            "v5.10.161",
            "v5.10.160",
            "v5.10.159",
            "v5.10.158",
            "v5.10.157",
            "v5.10.156",
            "v5.10.155",
            "v5.10.154",
            "v5.10.153",
            "v5.10.152",
            "v5.10.151",
            "v5.10.150",
            "v5.10.149",
            "v5.10.148",
            "v5.10.147",
            "v5.10.146",
            "v5.10.145",
            "v5.10.144",
            "v5.10.143",
            "v5.10.142",
            "v5.10.141",
            "v5.10.140",
            "v5.10.139",
            "v5.10.138",
            "v5.10.137",
            "v5.10.136",
            "v5.10.135",
            "v5.10.134",
            "v5.10.133",
            "v5.10.132",
            "v5.10.131",
            "v5.10.130",
            "v5.10.129",
            "v5.10.128",
            "v5.10.127",
            "v5.10.126",
            "v5.10.125",
            "v5.10.124",
            "v5.10.123",
            "v5.10.122",
            "v5.10.121",
            "v5.10.120",
            "v5.10.119",
            "v5.10.118",
            "v5.10.117",
            "v5.10.116",
            "v5.10.115",
            "v5.10.114",
            "v5.10.113",
            "v5.10.112",
            "v5.10.111",
            "v5.10.110",
            "v5.10.109",
            "v5.10.108",
            "v5.10.107",
            "v5.10.106",
            "v5.10.105",
            "v5.10.104",
            "v5.10.103",
            "v5.10.102",
            "v5.10.101",
            "v5.10.100",
            "v5.10.99",
            "v5.10.98",
            "v5.10.97",
            "v5.10.96",
            "v5.10.95",
            "v5.10.94",
            "v5.10.93",
            "v5.10.92",
            "v5.10.91",
            "v5.10.90",
            "v5.10.89",
            "v5.10.88",
            "v5.10.87",
            "v5.10.86",
            "v5.10.85",
            "v5.10.84",
            "v5.10.83",
            "v5.10.82",
            "v5.10.81",
            "v5.10.80",
            "v5.10.79",
            "v5.10.78",
            "v5.10.77",
            "v5.10.76",
            "v5.10.75",
            "v5.10.74",
            "v5.10.73",
            "v5.10.72",
            "v5.10.71",
            "v5.10.70",
            "v5.10.69",
            "v5.10.68",
            "v5.10.67",
            "v5.10.66",
            "v5.10.65",
            "v5.10.64",
            "v5.10.63",
            "v5.10.62",
            "v5.10.61",
            "v5.10.60",
            "v5.10.59",
            "v5.10.58",
            "v5.10.57",
            "v5.10.56",
            "v5.10.55",
            "v5.10.54",
            "v5.10.53",
            "v5.10.52",
            "v5.10.51",
            "v5.10.50",
            "v5.12.19",
            "v5.12.18",
            "v5.12.17",
            "v5.13.19",
            "v5.13.18",
            "v5.13.17",
            "v5.13.16",
            "v5.13.15",
            "v5.13.14",
            "v5.13.13",
            "v5.13.12",
            "v5.13.11",
            "v5.13.10",
            "v5.13.9",
            "v5.13.8",
            "v5.13.7",
            "v5.13.6",
            "v5.13.5",
            "v5.13.4",
            "v5.13.3",
            "v5.13.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68388.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "5.10.265"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.216"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.14.0"
                },
                {
                  "fixed": "6.1.183"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.6.148"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.12.101"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.18.42"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "7.1.6"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-68388.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.798808819Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/01719883235507b1585e4c51e320d9a7113dc698",
        "https://git.kernel.org/stable/c/377fe3e583e46369ee1004d5cfe12271d6589a68",
        "https://git.kernel.org/stable/c/437637f5ff3f573b2edf8571de91fb00a21eb4e6",
        "https://git.kernel.org/stable/c/7e08ab7a061b17ac1989a225c6afb53f44a86808",
        "https://git.kernel.org/stable/c/a4a09e5142835633fffbde68bd0a039ba4d4bf97",
        "https://git.kernel.org/stable/c/aeb58a4eb39a7ff4d7782b4f4ada0fda5e0675d2",
        "https://git.kernel.org/stable/c/b09ae45d85dc816987a71db9eebc54b0ae288e94",
        "https://git.kernel.org/stable/c/f47c7277c03a636fcc3a57969f2dc09567b3c050",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68388.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-68388",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68388.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-68388",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489259,
  "published_at": "2026-08-10T12:04:07.304+00:00"
}