← Back to CVE Explorer

CVE-2026-98082

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix the possible bioc_list memory leak during error There are two possible ways to leak bioc memory on btrfs_ordered_extent::bioc_list: - An error occurred for btrfs_insert_one_raid_extent() Then the function btrfs_insert_raid_extent() immediately return without freeing any bioc in the bioc_list. - An ordered extent hit an IO error In that case the ordered extent will have BTRFS_ORDERED_IOERR set, and skip the call on btrfs_insert_raid_extent() completely. Fix the problem by: - Introduce a new helper, btrfs_cleanup_ordered_bioc_list() Which will remove all bioc from the bioc_list, and release the bioc. - Call the above helper for btrfs_insert_raid_extent() So that the cleanup helper is always called no matter what. - Call the above helper for btrfs_finish_one_ordered() This is called just before the final release on the ordered extent. This was reported by Sashiko when reviewing another patch.

Severity
MEDIUM
CVSS score
5.5 (v3.1)
Vulnerability status
Analyzed
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-25 11:17:37.730000
Last modified
2026-10-19 10:18:04.247000
View original CVE JSON
{
  "id": "CVE-2026-98082",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-25T11:17:37.730",
  "lastModified": "2026-10-19T10:18:04.247",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: fix the possible bioc_list memory leak during error\n\nThere are two possible ways to leak bioc memory on\nbtrfs_ordered_extent::bioc_list:\n\n- An error occurred for btrfs_insert_one_raid_extent()\n  Then the function btrfs_insert_raid_extent() immediately return\n  without freeing any bioc in the bioc_list.\n\n- An ordered extent hit an IO error\n  In that case the ordered extent will have BTRFS_ORDERED_IOERR set, and\n  skip the call on btrfs_insert_raid_extent() completely.\n\nFix the problem by:\n\n- Introduce a new helper, btrfs_cleanup_ordered_bioc_list()\n  Which will remove all bioc from the bioc_list, and release the bioc.\n\n- Call the above helper for btrfs_insert_raid_extent()\n  So that the cleanup helper is always called no matter what.\n\n- Call the above helper for btrfs_finish_one_ordered()\n  This is called just before the final release on the ordered extent.\n\nThis was reported by Sashiko when reviewing another patch."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "fs/btrfs/inode.c",
            "fs/btrfs/raid-stripe-tree.c",
            "fs/btrfs/raid-stripe-tree.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "ab69bf6f8970c09d3735c25094e9471d54365282",
              "lessThan": "d043c43d2b4ebcd75ee7f907948ef2847306d6b2",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "02c372e1f016e5113217597ab37b399c4e407477",
              "lessThan": "83f0c973cffb184d019390ffdb5d31de5c85bc61",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "02c372e1f016e5113217597ab37b399c4e407477",
              "lessThan": "1b4d4e890c2c85d0f6365b5a08c48b4bbf85deb0",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "02c372e1f016e5113217597ab37b399c4e407477",
              "lessThan": "bb4da45766d16503821f167054db76b735d89e94",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "02c372e1f016e5113217597ab37b399c4e407477",
              "lessThan": "afbe73778338e6d1ac8c4486fbdf33f0cc1f2624",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "6.6.130",
              "lessThan": "6.6.158",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "fs/btrfs/inode.c",
            "fs/btrfs/raid-stripe-tree.c",
            "fs/btrfs/raid-stripe-tree.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.7",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.7",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.158",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.111",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.53",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.7",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Primary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
          "baseScore": 5.5,
          "baseSeverity": "MEDIUM",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 3.6
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-401"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.6.130",
              "versionEndExcluding": "6.6.158",
              "matchCriteriaId": "FDC8EFE7-C481-4EDA-B6EA-AD5862994847"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.7",
              "versionEndExcluding": "6.12.111",
              "matchCriteriaId": "47BC31C9-3D9E-4B96-B5F8-291D6AD55D81"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.13",
              "versionEndExcluding": "6.18.53",
              "matchCriteriaId": "7561AABB-6D5A-4324-BC66-C6C6B012AFD8"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.19",
              "versionEndExcluding": "7.2.7",
              "matchCriteriaId": "19917B2D-B4B2-4416-A482-9C7C4929A921"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:7.3:rc1:*:*:*:*:*:*",
              "matchCriteriaId": "11E35E1B-5DB4-4AB9-9706-CD73B799EADF"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/1b4d4e890c2c85d0f6365b5a08c48b4bbf85deb0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/83f0c973cffb184d019390ffdb5d31de5c85bc61",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/afbe73778338e6d1ac8c4486fbdf33f0cc1f2624",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/bb4da45766d16503821f167054db76b735d89e94",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/d043c43d2b4ebcd75ee7f907948ef2847306d6b2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    }
  ]
}