UBUNTU-CVE-2025-71123
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.
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
24 explicit affected versions
10 explicit affected versions
32 explicit affected versions
26 explicit affected versions
7 explicit affected versions
35 explicit affected versions
13 explicit affected versions
39 explicit affected versions
35 explicit affected versions
18 explicit affected versions
40 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
47 explicit affected versions
1 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
15 explicit affected versions
43 explicit affected versions
8 explicit affected versions
7 explicit affected versions
12 explicit affected versions
7 explicit affected versions
12 explicit affected versions
14 explicit affected versions
1 explicit affected versions
7 explicit affected versions
11 explicit affected versions
12 explicit affected versions
4 explicit affected versions
12 explicit affected versions
36 explicit affected versions
12 explicit affected versions
25 explicit affected versions
29 explicit affected versions
10 explicit affected versions
37 explicit affected versions
4 explicit affected versions
13 explicit affected versions
35 explicit affected versions
10 explicit affected versions
26 explicit affected versions
6 explicit affected versions
13 explicit affected versions
29 explicit affected versions
13 explicit affected versions
12 explicit affected versions
36 explicit affected versions
36 explicit affected versions
3 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
15 explicit affected versions
14 explicit affected versions
11 explicit affected versions
12 explicit affected versions
4 explicit affected versions
7 explicit affected versions
12 explicit affected versions
3 explicit affected versions
11 explicit affected versions
10 explicit affected versions
26 explicit affected versions
34 explicit affected versions
30 explicit affected versions
42 explicit affected versions
4 explicit affected versions
13 explicit affected versions
41 explicit affected versions
16 explicit affected versions
45 explicit affected versions
3 explicit affected versions
7 explicit affected versions
10 explicit affected versions
51 explicit affected versions
11 explicit affected versions
18 explicit affected versions
37 explicit affected versions
12 explicit affected versions
3 explicit affected versions
27 explicit affected versions
38 explicit affected versions
8 explicit affected versions
5 explicit affected versions
8 explicit affected versions
10 explicit affected versions
7 explicit affected versions
41 explicit affected versions
13 explicit affected versions
13 explicit affected versions
7 explicit affected versions
8 explicit affected versions
10 explicit affected versions
12 explicit affected versions
9 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
45 explicit affected versions
37 explicit affected versions
46 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
12 explicit affected versions
11 explicit affected versions
34 explicit affected versions
9 explicit affected versions
7 explicit affected versions
4 explicit affected versions
3 explicit affected versions
1 explicit affected versions
13 explicit affected versions
43 explicit affected versions
9 explicit affected versions
10 explicit affected versions
8 explicit affected versions
40 explicit affected versions
14 explicit affected versions
4 explicit affected versions
78 explicit affected versions
9 explicit affected versions
11 explicit affected versions
1 explicit affected versions
14 explicit affected versions
34 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
05 / REFERENCES
Further evidence
- https://git.kernel.org/stable/c/5bbacbbf1ca4419861dca3c6b82707c10e9c021c
- https://git.kernel.org/stable/c/6e37143560e37869d51b7d9e0ac61fc48895f8a0
- https://git.kernel.org/stable/c/902ca2356f1e3ec5355c5808ad5d3f9d0095b0cc
- https://git.kernel.org/stable/c/db9ee13fab0267eccf6544ee35b16c9522db9aac
- https://git.kernel.org/stable/c/ee5a977b4e771cc181f39d504426dbd31ed701cc
- https://ubuntu.com/security/CVE-2025-71123
- https://ubuntu.com/security/notices/USN-8177-1
- https://ubuntu.com/security/notices/USN-8177-2
- https://ubuntu.com/security/notices/USN-8179-1
- https://ubuntu.com/security/notices/USN-8179-2
- https://ubuntu.com/security/notices/USN-8179-3
- https://ubuntu.com/security/notices/USN-8179-4
- https://ubuntu.com/security/notices/USN-8183-1
- https://ubuntu.com/security/notices/USN-8183-2
- https://ubuntu.com/security/notices/USN-8184-1
- https://ubuntu.com/security/notices/USN-8185-1
- https://ubuntu.com/security/notices/USN-8185-2
- https://ubuntu.com/security/notices/USN-8203-1
- https://ubuntu.com/security/notices/USN-8204-1
- https://ubuntu.com/security/notices/USN-8245-1
- https://ubuntu.com/security/notices/USN-8257-1
- https://ubuntu.com/security/notices/USN-8258-1
- https://ubuntu.com/security/notices/USN-8260-1
- https://ubuntu.com/security/notices/USN-8265-1
- https://ubuntu.com/security/notices/USN-8440-1
- https://www.cve.org/CVERecord?id=CVE-2025-71123