CVE-2024-35849CWE-908

CVE-2024-35849

High · published May 17, 2024

CVSS v3.1
7.1
EPSS
0%
Percentile
16.3
In the wild
Unconfirmed
What it is

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

btrfs: fix information leak in btrfs_ioctl_logical_to_ino()

Syzbot reported the following information leak for in

btrfs_ioctl_logical_to_ino():

BUG: KMSAN: kernel-infoleak in instrument_copy_to_user include/linux/instrumented.h:114 [inline]

BUG: KMSAN: kernel-infoleak in _copy_to_user+0xbc/0x110 lib/usercopy.c:40

instrument_copy_to_user include/linux/instrumented.h:114 [inline]

_copy_to_user+0xbc/0x110 lib/usercopy.c:40

copy_to_user include/linux/uaccess.h:191 [inline]

btrfs_ioctl_logical_to_ino+0x440/0x750 fs/btrfs/ioctl.c:3499

btrfs_ioctl+0x714/0x1260

vfs_ioctl fs/ioctl.c:51 [inline]

__do_sys_ioctl fs/ioctl.c:904 [inline]

__se_sys_ioctl+0x261/0x450 fs/ioctl.c:890

__x64_sys_ioctl+0x96/0xe0 fs/ioctl.c:890

x64_sys_call+0x1883/0x3b50 arch/x86/include/generated/asm/syscalls_64.h:17

do_syscall_x64 arch/x86/entry/common.c:52 [inline]

do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83

entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was created at:

__kmalloc_large_node+0x231/0x370 mm/slub.c:3921

__do_kmalloc_node mm/slub.c:3954 [inline]

__kmalloc_node+0xb07/0x1060 mm/slub.c:3973

kmalloc_node include/linux/slab.h:648 [inline]

kvmalloc_node+0xc0/0x2d0 mm/util.c:634

kvmalloc include/linux/slab.h:766 [inline]

init_data_container+0x49/0x1e0 fs/btrfs/backref.c:2779

btrfs_ioctl_logical_to_ino+0x17c/0x750 fs/btrfs/ioctl.c:3480

btrfs_ioctl+0x714/0x1260

vfs_ioctl fs/ioctl.c:51 [inline]

__do_sys_ioctl fs/ioctl.c:904 [inline]

__se_sys_ioctl+0x261/0x450 fs/ioctl.c:890

__x64_sys_ioctl+0x96/0xe0 fs/ioctl.c:890

x64_sys_call+0x1883/0x3b50 arch/x86/include/generated/asm/syscalls_64.h:17

do_syscall_x64 arch/x86/entry/common.c:52 [inline]

do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83

entry_SYSCALL_64_after_hwframe+0x77/0x7f

Bytes 40-65535 of 65536 are uninitialized

Memory access of size 65536 starts at ffff888045a40000

This happens, because we're copying a 'struct btrfs_data_container' back

to user-space. This btrfs_data_container is allocated in

'init_data_container()' via kvmalloc(), which does not zero-fill the

memory.

Fix this by using kvzalloc() which zeroes out the memory on allocation.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00256 · 16.3th percentile
Weakness
CWE-908 · Use of Uninitialized Resource
Published
2024-05-17T19:15Z
Affected products (13)
ProductVersionsFixed in
linux/linux_kernel< 4.19.3134.19.313
linux/linux_kernel≥ 4.20, < 5.4.2755.4.275
linux/linux_kernel≥ 5.5, < 5.10.2165.10.216
linux/linux_kernel≥ 5.11, < 5.15.1585.15.158
linux/linux_kernel≥ 5.16, < 6.1.906.1.90
linux/linux_kernel≥ 6.2, < 6.6.306.6.30
linux/linux_kernel≥ 6.7, < 6.8.96.8.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (19)
https://git.kernel.org/stable/c/2f7ef5bb4a2f3e481ef05fab946edb97c84f67cf · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/30189e54ba80e3209d34cfeea87b848f6ae025e6 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/3a63cee1a5e14a3e52c19142c61dd5fcb524f6dc · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/689efe22e9b5b7d9d523119a9a5c3c17107a0772 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/73db209dcd4ae026021234d40cfcb2fb5b564b86 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/8bdbcfaf3eac42f98e5486b3d7e130fa287811f6 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e58047553a4e859dafc8d1d901e1de77c9dd922d · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/fddc19631c51d9c17d43e9f822a7bc403af88d54 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/2f7ef5bb4a2f3e481ef05fab946edb97c84f67cf · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/30189e54ba80e3209d34cfeea87b848f6ae025e6 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/3a63cee1a5e14a3e52c19142c61dd5fcb524f6dc · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/689efe22e9b5b7d9d523119a9a5c3c17107a0772 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/73db209dcd4ae026021234d40cfcb2fb5b564b86 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/8bdbcfaf3eac42f98e5486b3d7e130fa287811f6 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e58047553a4e859dafc8d1d901e1de77c9dd922d · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/fddc19631c51d9c17d43e9f822a7bc403af88d54 · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html · af854a3a-2127-422b-91ae-364da2661108https://cert-portal.siemens.com/productcert/html/ssa-265688.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 17 MAY 14:47Z
    btrfs: fix information leak in btrfs_ioctl_logical_to_ino()
    cvelistv5