Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2023-53247 — kernel

🟡 CVSS 5.5 — Medium ✅ No Known Exploit NVD
5.5
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

btrfs: set_page_extent_mapped after read_folio in btrfs_cont_expand

In the Linux kernel, the following vulnerability has been resolved:

btrfs: set_page_extent_mapped after read_folio in btrfs_cont_expand

While trying to get the subpage blocksize tests running, I hit the

following panic on generic/476

assertion failed: PagePrivate(page) && page->private, in fs/btrfs/subpage.c:229

kernel BUG at fs/btrfs/subpage.c:229!

Internal error: Oops - BUG: 00000000f2000800 [#1] SMP

CPU: 1 PID: 1453 Comm: fsstress Not tainted 6.4.0-rc7+ #12

Hardware name: QEMU KVM Virtual Machine, BIOS edk2-20230301gitf80f052277c8-26.fc38 03/01/2023

pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)

pc : btrfs_subpage_assert+0xbc/0xf0

lr : btrfs_subpage_assert+0xbc/0xf0

Call trace:

btrfs_subpage_assert+0xbc/0xf0

btrfs_subpage_clear_checked+0x38/0xc0

btrfs_page_clear_checked+0x48/0x98

btrfs_truncate_block+0x5d0/0x6a8

btrfs_cont_expand+0x5c/0x528

btrfs_write_check.isra.0+0xf8/0x150

btrfs_buffered_write+0xb4/0x760

btrfs_do_write_iter+0x2f8/0x4b0

btrfs_file_write_iter+0x1c/0x30

do_iter_readv_writev+0xc8/0x158

do_iter_write+0x9c/0x210

vfs_iter_write+0x24/0x40

iter_file_splice_write+0x224/0x390

direct_splice_actor+0x38/0x68

splice_direct_to_actor+0x12c/0x260

do_splice_direct+0x90/0xe8

generic_copy_file_range+0x50/0x90

vfs_copy_file_range+0x29c/0x470

__arm64_sys_copy_file_range+0xcc/0x498

invoke_syscall.constprop.0+0x80/0xd8

do_el0_svc+0x6c/0x168

el0_svc+0x50/0x1b0

el0t_64_sync_handler+0x114/0x120

el0t_64_sync+0x194/0x198

This happens because during btrfs_cont_expand we'll get a page, set it

as mapped, and if it's not Uptodate we'll read it. However between the

read and re-locking the page we could have called release_folio() on the

page, but left the page in the file mapping. release_folio() can clear

the page private, and thus further down we blow up when we go to modify

the subpage bits.

Fix this by putting the set_page_extent_mapped() after the read. This

is safe because read_folio() will call set_page_extent_mapped() before

it does the read, and then if we clear page private but leave it on the

mapping we're completely safe re-setting set_page_extent_mapped(). With

this patch I can now run generic/476 without panicing.

How this vulnerability can be exploited

This issue can be reached with local access to the system, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

  • Attack vector: Local — a local account, shell or session on the host is needed.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: Low — an ordinary user account is enough.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: None.
  • Integrity impact: None.
  • Availability impact: High — total loss, or loss the attacker controls.

Affected software

CVE-2023-53247 is recorded against 2 packages.

  • kernel (from 6.2.0 up to 6.4.7)
  • linux-kernel

Timeline and source

Published on 15 September 2025 and last revised on 12 August 2026. No public exploit is currently recorded for this entry. A vendor advisory or fix has been published. Record sourced from NVD.

References

git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
github.com (Advisory)
nvd.nist.gov (Advisory)
git.kernel.org (Package)

Other advisories for this package

kernel has other advisories on record. If you are patching this one, these are worth checking on the same host:

Details

Severity Medium
CVSS Score 5.5
CVSS Vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE N/A
Public Exploit ✅ No
Source NVD
Published 2025-09-15
Updated 2026-08-20
Modified 2026-08-12

Affected Packages

Software From version Fixed in
kernel 6.2.0 6.4.7
linux-kernel — —

Similar Threats

Vulnerability Monitoring

Track new vulnerabilities in kernel

CVE-2023-53247 is rated CVSS 5.5 Medium. BotEraser monitors your WordPress installation and notifies you when software you use appears in our vulnerability database.

Set Up Free Alerts →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2023
✓