CVE-2024-38578CWE-787

CVE-2024-38578

High · published June 19, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
17.2
In the wild
Unconfirmed
What it is

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

ecryptfs: Fix buffer size for tag 66 packet

The 'TAG 66 Packet Format' description is missing the cipher code and

checksum fields that are packed into the message packet. As a result,

the buffer allocated for the packet is 3 bytes too small and

write_tag_66_packet() will write up to 3 bytes past the end of the

buffer.

Fix this by increasing the size of the allocation so the whole packet

will always fit in the buffer.

This fixes the below kasan slab-out-of-bounds bug:

BUG: KASAN: slab-out-of-bounds in ecryptfs_generate_key_packet_set+0x7d6/0xde0

Write of size 1 at addr ffff88800afbb2a5 by task touch/181

CPU: 0 PID: 181 Comm: touch Not tainted 6.6.13-gnu #1 4c9534092be820851bb687b82d1f92a426598dc6

Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2/GNU Guix 04/01/2014

Call Trace:

<TASK>

dump_stack_lvl+0x4c/0x70

print_report+0xc5/0x610

? ecryptfs_generate_key_packet_set+0x7d6/0xde0

? kasan_complete_mode_report_info+0x44/0x210

? ecryptfs_generate_key_packet_set+0x7d6/0xde0

kasan_report+0xc2/0x110

? ecryptfs_generate_key_packet_set+0x7d6/0xde0

__asan_store1+0x62/0x80

ecryptfs_generate_key_packet_set+0x7d6/0xde0

? __pfx_ecryptfs_generate_key_packet_set+0x10/0x10

? __alloc_pages+0x2e2/0x540

? __pfx_ovl_open+0x10/0x10 [overlay 30837f11141636a8e1793533a02e6e2e885dad1d]

? dentry_open+0x8f/0xd0

ecryptfs_write_metadata+0x30a/0x550

? __pfx_ecryptfs_write_metadata+0x10/0x10

? ecryptfs_get_lower_file+0x6b/0x190

ecryptfs_initialize_file+0x77/0x150

ecryptfs_create+0x1c2/0x2f0

path_openat+0x17cf/0x1ba0

? __pfx_path_openat+0x10/0x10

do_filp_open+0x15e/0x290

? __pfx_do_filp_open+0x10/0x10

? __kasan_check_write+0x18/0x30

? _raw_spin_lock+0x86/0xf0

? __pfx__raw_spin_lock+0x10/0x10

? __kasan_check_write+0x18/0x30

? alloc_fd+0xf4/0x330

do_sys_openat2+0x122/0x160

? __pfx_do_sys_openat2+0x10/0x10

__x64_sys_openat+0xef/0x170

? __pfx___x64_sys_openat+0x10/0x10

do_syscall_64+0x60/0xd0

entry_SYSCALL_64_after_hwframe+0x6e/0xd8

RIP: 0033:0x7f00a703fd67

Code: 25 00 00 41 00 3d 00 00 41 00 74 37 64 8b 04 25 18 00 00 00 85 c0 75 5b 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 85 00 00 00 48 83 c4 68 5d 41 5c c3 0f 1f

RSP: 002b:00007ffc088e30b0 EFLAGS: 00000246 ORIG_RAX: 0000000000000101

RAX: ffffffffffffffda RBX: 00007ffc088e3368 RCX: 00007f00a703fd67

RDX: 0000000000000941 RSI: 00007ffc088e48d7 RDI: 00000000ffffff9c

RBP: 00007ffc088e48d7 R08: 0000000000000001 R09: 0000000000000000

R10: 00000000000001b6 R11: 0000000000000246 R12: 0000000000000941

R13: 0000000000000000 R14: 00007ffc088e48d7 R15: 00007f00a7180040

</TASK>

Allocated by task 181:

kasan_save_stack+0x2f/0x60

kasan_set_track+0x29/0x40

kasan_save_alloc_info+0x25/0x40

__kasan_kmalloc+0xc5/0xd0

__kmalloc+0x66/0x160

ecryptfs_generate_key_packet_set+0x6d2/0xde0

ecryptfs_write_metadata+0x30a/0x550

ecryptfs_initialize_file+0x77/0x150

ecryptfs_create+0x1c2/0x2f0

path_openat+0x17cf/0x1ba0

do_filp_open+0x15e/0x290

do_sys_openat2+0x122/0x160

__x64_sys_openat+0xef/0x170

do_syscall_64+0x60/0xd0

entry_SYSCALL_64_after_hwframe+0x6e/0xd8

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00263 · 17.2th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2024-06-19T18:15Z
Affected products (8)
ProductVersionsFixed in
linux/linux_kernel≥ 4.20, < 5.4.2785.4.278
linux/linux_kernel≥ 5.5, < 5.10.2195.10.219
linux/linux_kernel≥ 5.11, < 5.15.1615.15.161
linux/linux_kernel≥ 5.16, < 6.1.936.1.93
linux/linux_kernel≥ 6.2, < 6.6.336.6.33
linux/linux_kernel≥ 6.7, < 6.8.126.8.12
linux/linux_kernel≥ 6.9, < 6.9.36.9.3
linux/linux_kernel≥ 2.6.21, < 4.19.3164.19.316
References (21)
https://git.kernel.org/stable/c/0d0f8ba042af16519f1ef7dd10463a33b21b677c · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/12db25a54ce6bb22b0af28010fff53ef9cb3fe93 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/1c125b9287e58f364d82174efb167414b92b11f1 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/235b85981051cd68fc215fd32a81c6f116bfc4df · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/2ed750b7ae1b5dc72896d7dd114c419afd3d1910 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/85a6a1aff08ec9f5b929d345d066e2830e8818e5 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a20f09452e2f58f761d11ad7b96b5c894c91030e · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/edbfc42ab080e78c6907d40a42c9d10b69e445c1 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/f6008487f1eeb8693f8d2a36a89c87d9122ddf74 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/0d0f8ba042af16519f1ef7dd10463a33b21b677c · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/12db25a54ce6bb22b0af28010fff53ef9cb3fe93 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/1c125b9287e58f364d82174efb167414b92b11f1 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/235b85981051cd68fc215fd32a81c6f116bfc4df · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/2ed750b7ae1b5dc72896d7dd114c419afd3d1910 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/85a6a1aff08ec9f5b929d345d066e2830e8818e5 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/a20f09452e2f58f761d11ad7b96b5c894c91030e · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/edbfc42ab080e78c6907d40a42c9d10b69e445c1 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/f6008487f1eeb8693f8d2a36a89c87d9122ddf74 · 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-f314f3fb7c5ehttps://cert-portal.siemens.com/productcert/html/ssa-613116.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 19 JUN 13:37Z
    ecryptfs: Fix buffer size for tag 66 packet
    cvelistv5