CVE-2024-38578

Source
https://cve.org/CVERecord?id=CVE-2024-38578
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38578.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-38578
Downstream
Related
Published
2024-06-19T13:37:36.487Z
Modified
2026-03-23T05:01:37.377769264Z
Summary
ecryptfs: Fix buffer size for tag 66 packet
Details

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 writetag66_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 ecryptfsgeneratekeypacketset+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> dumpstacklvl+0x4c/0x70 printreport+0xc5/0x610 ? ecryptfsgeneratekeypacketset+0x7d6/0xde0 ? kasancompletemodereportinfo+0x44/0x210 ? ecryptfsgeneratekeypacketset+0x7d6/0xde0 kasanreport+0xc2/0x110 ? ecryptfsgeneratekeypacketset+0x7d6/0xde0 __asanstore1+0x62/0x80 ecryptfsgenerate_keypacketset+0x7d6/0xde0 ? __pfxecryptfsgenerate_keypacketset+0x10/0x10 ? __alloc_pages+0x2e2/0x540 ? __pfxovlopen+0x10/0x10 [overlay 30837f11141636a8e1793533a02e6e2e885dad1d] ? dentryopen+0x8f/0xd0 ecryptfswrite_metadata+0x30a/0x550 ? __pfxecryptfswritemetadata+0x10/0x10 ? ecryptfsgetlowerfile+0x6b/0x190 ecryptfsinitializefile+0x77/0x150 ecryptfscreate+0x1c2/0x2f0 pathopenat+0x17cf/0x1ba0 ? __pfxpathopenat+0x10/0x10 dofilpopen+0x15e/0x290 ? __pfxdofilp_open+0x10/0x10 ? __kasancheckwrite+0x18/0x30 ? rawspin_lock+0x86/0xf0 ? pfxrawspinlock+0x10/0x10 ? __kasancheckwrite+0x18/0x30 ? alloc_fd+0xf4/0x330 dosysopenat2+0x122/0x160 ? __pfxdosys_openat2+0x10/0x10 _x64sysx64sysopenat+0xef/0x170 ? pfx64sysopenat+0x10/0x10 dosyscall64+0x60/0xd0 entrySYSCALL64afterhwframe+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 ORIGRAX: 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: kasansavestack+0x2f/0x60 kasansettrack+0x29/0x40 kasansavealloc_info+0x25/0x40 __kasan_kmalloc+0xc5/0xd0 __kmalloc+0x66/0x160 ecryptfsgeneratekeypacketset+0x6d2/0xde0 ecryptfswritemetadata+0x30a/0x550 ecryptfsinitializefile+0x77/0x150 ecryptfscreate+0x1c2/0x2f0 pathopenat+0x17cf/0x1ba0 dofilpopen+0x15e/0x290 dosysopenat2+0x122/0x160 __x64sysopenat+0xef/0x170 dosyscall64+0x60/0xd0 entrySYSCALL64afterhwframe+0x6e/0xd8

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38578.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
dddfa461fc8951f9b5f951c13565b6cac678635a
Fixed
1c125b9287e58f364d82174efb167414b92b11f1
Fixed
235b85981051cd68fc215fd32a81c6f116bfc4df
Fixed
edbfc42ab080e78c6907d40a42c9d10b69e445c1
Fixed
12db25a54ce6bb22b0af28010fff53ef9cb3fe93
Fixed
0d0f8ba042af16519f1ef7dd10463a33b21b677c
Fixed
2ed750b7ae1b5dc72896d7dd114c419afd3d1910
Fixed
a20f09452e2f58f761d11ad7b96b5c894c91030e
Fixed
f6008487f1eeb8693f8d2a36a89c87d9122ddf74
Fixed
85a6a1aff08ec9f5b929d345d066e2830e8818e5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38578.json"