CVE-2023-53339 (GCVE-0-2023-53339)

Vulnerability from cvelistv5 – Published: 2025-09-17 14:56 – Updated: 2026-05-11 19:43
VLAI
Title
btrfs: fix BUG_ON condition in btrfs_cancel_balance
Summary
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix BUG_ON condition in btrfs_cancel_balance Pausing and canceling balance can race to interrupt balance lead to BUG_ON panic in btrfs_cancel_balance. The BUG_ON condition in btrfs_cancel_balance does not take this race scenario into account. However, the race condition has no other side effects. We can fix that. Reproducing it with panic trace like this: kernel BUG at fs/btrfs/volumes.c:4618! RIP: 0010:btrfs_cancel_balance+0x5cf/0x6a0 Call Trace: <TASK> ? do_nanosleep+0x60/0x120 ? hrtimer_nanosleep+0xb7/0x1a0 ? sched_core_clone_cookie+0x70/0x70 btrfs_ioctl_balance_ctl+0x55/0x70 btrfs_ioctl+0xa46/0xd20 __x64_sys_ioctl+0x7d/0xa0 do_syscall_64+0x38/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd Race scenario as follows: > mutex_unlock(&fs_info->balance_mutex); > -------------------- > .......issue pause and cancel req in another thread > -------------------- > ret = __btrfs_balance(fs_info); > > mutex_lock(&fs_info->balance_mutex); > if (ret == -ECANCELED && atomic_read(&fs_info->balance_pause_req)) { > btrfs_info(fs_info, "balance: paused"); > btrfs_exclop_balance(fs_info, BTRFS_EXCLOP_BALANCE_PAUSED); > }
Severity
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: ddf7e8984c83aee9122552529f4e77291903f8d9 , < ceb9ba8e30833a4823e2dc73f80ebcdf2498d01a (git)
Affected: 72efe5d44821e38540888a5fe3ff3d0faab6acad , < ae81329f7de3aa6f34ecdfa5412e72161a30e9ce (git)
Affected: b19c98f237cd76981aaded52c258ce93f7daa8cb , < 29eefa6d0d07e185f7bfe9576f91e6dba98189c2 (git)
Create a notification for this product.
Linux Linux Affected: 6.1.42 , < 6.1.47 (semver)
Affected: 6.4.7 , < 6.4.12 (semver)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/btrfs/volumes.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ceb9ba8e30833a4823e2dc73f80ebcdf2498d01a",
              "status": "affected",
              "version": "ddf7e8984c83aee9122552529f4e77291903f8d9",
              "versionType": "git"
            },
            {
              "lessThan": "ae81329f7de3aa6f34ecdfa5412e72161a30e9ce",
              "status": "affected",
              "version": "72efe5d44821e38540888a5fe3ff3d0faab6acad",
              "versionType": "git"
            },
            {
              "lessThan": "29eefa6d0d07e185f7bfe9576f91e6dba98189c2",
              "status": "affected",
              "version": "b19c98f237cd76981aaded52c258ce93f7daa8cb",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/btrfs/volumes.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6.1.47",
              "status": "affected",
              "version": "6.1.42",
              "versionType": "semver"
            },
            {
              "lessThan": "6.4.12",
              "status": "affected",
              "version": "6.4.7",
              "versionType": "semver"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.47",
                  "versionStartIncluding": "6.1.42",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.12",
                  "versionStartIncluding": "6.4.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: fix BUG_ON condition in btrfs_cancel_balance\n\nPausing and canceling balance can race to interrupt balance lead to BUG_ON\npanic in btrfs_cancel_balance. The BUG_ON condition in btrfs_cancel_balance\ndoes not take this race scenario into account.\n\nHowever, the race condition has no other side effects. We can fix that.\n\nReproducing it with panic trace like this:\n\n  kernel BUG at fs/btrfs/volumes.c:4618!\n  RIP: 0010:btrfs_cancel_balance+0x5cf/0x6a0\n  Call Trace:\n   \u003cTASK\u003e\n   ? do_nanosleep+0x60/0x120\n   ? hrtimer_nanosleep+0xb7/0x1a0\n   ? sched_core_clone_cookie+0x70/0x70\n   btrfs_ioctl_balance_ctl+0x55/0x70\n   btrfs_ioctl+0xa46/0xd20\n   __x64_sys_ioctl+0x7d/0xa0\n   do_syscall_64+0x38/0x80\n   entry_SYSCALL_64_after_hwframe+0x63/0xcd\n\n  Race scenario as follows:\n  \u003e mutex_unlock(\u0026fs_info-\u003ebalance_mutex);\n  \u003e --------------------\n  \u003e .......issue pause and cancel req in another thread\n  \u003e --------------------\n  \u003e ret = __btrfs_balance(fs_info);\n  \u003e\n  \u003e mutex_lock(\u0026fs_info-\u003ebalance_mutex);\n  \u003e if (ret == -ECANCELED \u0026\u0026 atomic_read(\u0026fs_info-\u003ebalance_pause_req)) {\n  \u003e         btrfs_info(fs_info, \"balance: paused\");\n  \u003e         btrfs_exclop_balance(fs_info, BTRFS_EXCLOP_BALANCE_PAUSED);\n  \u003e }"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T19:43:02.231Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ceb9ba8e30833a4823e2dc73f80ebcdf2498d01a"
        },
        {
          "url": "https://git.kernel.org/stable/c/ae81329f7de3aa6f34ecdfa5412e72161a30e9ce"
        },
        {
          "url": "https://git.kernel.org/stable/c/29eefa6d0d07e185f7bfe9576f91e6dba98189c2"
        }
      ],
      "title": "btrfs: fix BUG_ON condition in btrfs_cancel_balance",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53339",
    "datePublished": "2025-09-17T14:56:33.114Z",
    "dateReserved": "2025-09-16T16:08:59.565Z",
    "dateUpdated": "2026-05-11T19:43:02.231Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-53339",
      "date": "2026-05-26",
      "epss": "7e-05",
      "percentile": "0.00501"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53339\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-09-17T15:15:37.030\",\"lastModified\":\"2026-01-05T11:16:15.193\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbtrfs: fix BUG_ON condition in btrfs_cancel_balance\\n\\nPausing and canceling balance can race to interrupt balance lead to BUG_ON\\npanic in btrfs_cancel_balance. The BUG_ON condition in btrfs_cancel_balance\\ndoes not take this race scenario into account.\\n\\nHowever, the race condition has no other side effects. We can fix that.\\n\\nReproducing it with panic trace like this:\\n\\n  kernel BUG at fs/btrfs/volumes.c:4618!\\n  RIP: 0010:btrfs_cancel_balance+0x5cf/0x6a0\\n  Call Trace:\\n   \u003cTASK\u003e\\n   ? do_nanosleep+0x60/0x120\\n   ? hrtimer_nanosleep+0xb7/0x1a0\\n   ? sched_core_clone_cookie+0x70/0x70\\n   btrfs_ioctl_balance_ctl+0x55/0x70\\n   btrfs_ioctl+0xa46/0xd20\\n   __x64_sys_ioctl+0x7d/0xa0\\n   do_syscall_64+0x38/0x80\\n   entry_SYSCALL_64_after_hwframe+0x63/0xcd\\n\\n  Race scenario as follows:\\n  \u003e mutex_unlock(\u0026fs_info-\u003ebalance_mutex);\\n  \u003e --------------------\\n  \u003e .......issue pause and cancel req in another thread\\n  \u003e --------------------\\n  \u003e ret = __btrfs_balance(fs_info);\\n  \u003e\\n  \u003e mutex_lock(\u0026fs_info-\u003ebalance_mutex);\\n  \u003e if (ret == -ECANCELED \u0026\u0026 atomic_read(\u0026fs_info-\u003ebalance_pause_req)) {\\n  \u003e         btrfs_info(fs_info, \\\"balance: paused\\\");\\n  \u003e         btrfs_exclop_balance(fs_info, BTRFS_EXCLOP_BALANCE_PAUSED);\\n  \u003e }\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"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\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-617\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"4.19.293\",\"matchCriteriaId\":\"E78BC66B-D699-4144-AA1A-CC05D19D657F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.20\",\"versionEndExcluding\":\"5.4.255\",\"matchCriteriaId\":\"1379E40A-2AC3-484E-929A-7F46B6C3B521\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.192\",\"matchCriteriaId\":\"9396FFDC-6A0D-44B7-9368-21B456F6D4AE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.128\",\"matchCriteriaId\":\"1415629F-F97B-4880-BA1E-AF3DBB8EF305\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.47\",\"matchCriteriaId\":\"2EEA01B0-0151-4E0F-B140-1A441EEDD717\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.4.12\",\"matchCriteriaId\":\"CF8ECF64-40AE-49AB-8315-4D83F9F56ECF\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.5:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"0B3E6E4D-E24E-4630-B00C-8C9901C597B0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.5:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"E4A01A71-0F09-4DB2-A02F-7EFFBE27C98D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.5:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"F5608371-157A-4318-8A2E-4104C3467EA1\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.5:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"2226A776-DF8C-49E0-A030-0A7853BB018A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.5:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"6F15C659-DF06-455A-9765-0E6DE920F29A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.5:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"5B1C14ED-ABC4-41D3-8D9C-D38C6A65B4DE\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/29eefa6d0d07e185f7bfe9576f91e6dba98189c2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ae81329f7de3aa6f34ecdfa5412e72161a30e9ce\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ceb9ba8e30833a4823e2dc73f80ebcdf2498d01a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}"
  }
}


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…