CVE-2025-71123

ext4: fix string copying in parse_apply_sb_mount_options()

State
Published
Severity
Not scored
Published
Jan 14, 2026
Updated
Oct 15, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

Description

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

ext4: fix string copying in parse_apply_sb_mount_options()

strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size. Commit 0efc5990bca5 ("string.h: Introduce memtostr() and memtostr_pad()") provides additional information in that regard. So if this happens, the following warning is observed:

strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace: <TASK> __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039 strnlen include/linux/fortify-string.h:235 [inline] sized_strscpy include/linux/fortify-string.h:309 [inline] parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline] __ext4_fill_super fs/ext4/super.c:5261 [inline] ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706 get_tree_bdev_flags+0x387/0x620 fs/super.c:1636 vfs_get_tree+0x93/0x380 fs/super.c:1814 do_new_mount fs/namespace.c:3553 [inline] path_mount+0x6ae/0x1f70 fs/namespace.c:3880 do_mount fs/namespace.c:3893 [inline] __do_sys_mount fs/namespace.c:4103 [inline] __se_sys_mount fs/namespace.c:4080 [inline] __x64_sys_mount+0x280/0x300 fs/namespace.c:4080 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x76/0x7e

Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly. Return with error if the user still managed to provide a non-NUL-term string here.

Found by Linux Verification Center (linuxtesting.org) with Syzkaller.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b2bac84fde28fb6a88817b8b761abda17a1d300b to before 52ac96c4a2dd7bc47666000440b0602d9742e820Affected
  • e651294218d2684302ee5ed95ccf381646f3e5b4 to before 6e37143560e37869d51b7d9e0ac61fc48895f8a0Affected
  • 01829af7656b56d83682b3491265d583d502e502 to before 902ca2356f1e3ec5355c5808ad5d3f9d0095b0ccAffected
  • 2a0cf438320cdb783e0378570744c0ef0d83e934 to before db9ee13fab0267eccf6544ee35b16c9522db9aacAffected
  • 8ecb790ea8c3fc69e77bace57f14cf0d7c177bd8 to before 5bbacbbf1ca4419861dca3c6b82707c10e9c021cAffected
  • 8ecb790ea8c3fc69e77bace57f14cf0d7c177bd8 to before ee5a977b4e771cc181f39d504426dbd31ed701ccAffected
  • 7bf46ff83a0ef11836e38ebd72cdc5107209342dAffected
  • a6e94557cd05adc82fae0400f6e17745563e5412Affected
  • 5.10.246 to before 5.10.248Affected
  • 6.1.158 to before 6.1.160Affected
  • 6.6.114 to before 6.6.120Affected
  • 6.12.54 to before 6.12.64Affected
  • 5.4.301 to before 5.5Affected
  • 6.17.4 to before 6.18Affected
LinuxLinux
  • 6.18Affected
  • before 6.18Not affected
  • 5.10.248 through 5.10.*Not affected
  • 6.1.160 through 6.1.*Not affected
  • 6.6.120 through 6.6.*Not affected
  • 6.12.64 through 6.12.*Not affected
  • 6.18.3 through 6.18.*Not affected
  • 6.19 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.