{
  "cveId": "CVE-2023-52897",
  "url": "https://patchblox.com/security/cve/CVE-2023-52897",
  "summary": "CVE-2023-52897 is fixed in linux on 1 platform, first by DEBIAN-CVE-2023-52897, released August 21, 2024. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  btrfs: qgroup: do not warn on record without old...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: qgroup: do not warn on record without old_roots populated  [BUG] There are some reports from the mailing list that since v6.1 kernel, the WARN_ON() inside btrfs_qgroup_account_extent() gets triggered during rescan:    WARNING: CPU: 3 PID: 6424 at fs/btrfs/qgroup.c:2756 btrfs_qgroup_account_extents\u002B0x1ae/0x260 [btrfs]   CPU: 3 PID: 6424 Comm: snapperd Tainted: P           OE      6.1.2-1-default #1 openSUSE Tumbleweed 05c7a1b1b61d5627475528f71f50444637b5aad7   RIP: 0010:btrfs_qgroup_account_extents\u002B0x1ae/0x260 [btrfs]   Call Trace:    \u003CTASK\u003E   btrfs_commit_transaction\u002B0x30c/0xb40 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6]    ? start_transaction\u002B0xc3/0x5b0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6]   btrfs_qgroup_rescan\u002B0x42/0xc0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6]    btrfs_ioctl\u002B0x1ab9/0x25c0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6]    ? __rseq_handle_notify_resume\u002B0xa9/0x4a0    ? mntput_no_expire\u002B0x4a/0x240    ? __seccomp_filter\u002B0x319/0x4d0    __x64_sys_ioctl\u002B0x90/0xd0    do_syscall_64\u002B0x5b/0x80    ? syscall_exit_to_user_mode\u002B0x17/0x40    ? do_syscall_64\u002B0x67/0x80   entry_SYSCALL_64_after_hwframe\u002B0x63/0xcd   RIP: 0033:0x7fd9b790d9bf    \u003C/TASK\u003E  [CAUSE] Since commit e15e9f43c7ca (\u0022btrfs: introduce BTRFS_QGROUP_RUNTIME_FLAG_NO_ACCOUNTING to skip qgroup accounting\u0022), if our qgroup is already in inconsistent state, we will no longer do the time-consuming backref walk.  This can leave some qgroup records without a valid old_roots ulist. Normally this is fine, as btrfs_qgroup_account_extents() would also skip those records if we have NO_ACCOUNTING flag set.  But there is a small window, if we have NO_ACCOUNTING flag set, and inserted some qgroup_record without a old_roots ulist, but then the user triggered a qgroup rescan.  During btrfs_qgroup_rescan(), we firstly clear NO_ACCOUNTING flag, then commit current transaction.  And since we have a qgroup_record with old_roots = NULL, we trigger the WARN_ON() during btrfs_qgroup_account_extents().  [FIX] Unfortunately due to the introduction of NO_ACCOUNTING flag, the assumption that every qgroup_record would have its old_roots populated is no longer correct.  Fix the false alerts and drop the WARN_ON().",
  "published": "2024-08-21T07:15:06Z",
  "severity": "medium",
  "cvss": 4.7,
  "cvssVector": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "epss": 0.00198,
  "epssPercentile": 0.09676,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.1.8-1",
      "fix": "DEBIAN-CVE-2023-52897",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-52897",
      "released": "2024-08-21T07:15:06Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.1.8-1",
      "fix": "DEBIAN-CVE-2023-52897",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-52897",
      "released": "2024-08-21T07:15:06Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.1.8-1",
      "fix": "DEBIAN-CVE-2023-52897",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-52897",
      "released": "2024-08-21T07:15:06Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T00:53:09Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}