Microsoft advisory for CVE-2024-46701 — azl3 kernel
🔗 CVE IDs covered (1)
📋 Microsoft's advisory
EchelonGraph does not copy Microsoft's advisory page: its FAQ and remediation text are not shown here. Read the advisory on https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-46701. This page also shows what EchelonGraph holds for CVE-2024-46701, with the description from its CVE record, which the CVE Numbering Authority that assigned the CVE wrote: for a CVE Microsoft assigned, often in the words of Microsoft's own advisory.
🎯 Affected products19
- azl3 kernel 6.6.104.2-4 on Azure Linux 3.0
- azl3 kernel 6.6.112.1-2 on Azure Linux 3.0
- azl3 kernel 6.6.117.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.119.3-1 on Azure Linux 3.0
- azl3 kernel 6.6.119.3-3 on Azure Linux 3.0
- azl3 kernel 6.6.121.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.126.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.130.1-3 on Azure Linux 3.0
- azl3 kernel 6.6.134.1-2 on Azure Linux 3.0
- azl3 kernel 6.6.137.1-2 on Azure Linux 3.0
- azl3 kernel 6.6.138.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.139.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.141.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.143.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.144.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.145.2-1 on Azure Linux 3.0
- azl3 kernel 6.6.150.1-1 on Azure Linux 3.0
- azl3 kernel 6.6.96.2-1 on Azure Linux 3.0
- azl3 kernel 6.6.96.2-2 on Azure Linux 3.0
🧭 EchelonGraph on CVE-2024-46701
- EchelonGraph score
- 5.5 MEDIUM
- CISA KEV
- Not listed
- Fix status
- A fix is available — apply it.
Description from the CVE record (CVE.org), as published by its numbering authority
In the Linux kernel, the following vulnerability has been resolved: libfs: fix infinite directory reads for offset dir After we switch tmpfs dir operations from simple_dir_operations to simple_offset_dir_operations, every rename happened will fill new dentry to dest dir's maple tree(&SHMEM_I(inode)->dir_offsets->mt) with a free key starting with octx->newx_offset, and then set newx_offset equals to free key + 1. This will lead to infinite readdir combine with rename happened at the same time, which fail generic/736 in xfstests(detail show as below). 1. create 5000 files(1 2 3...) under one dir 2. call readdir(man 3 readdir) once, and get one entry 3. rename(entry, "TEMPFILE"), then rename("TEMPFILE", entry) 4. loop 2~3, until readdir return nothing or we loop too many times(tmpfs break test with the second condition) We choose the same logic what commit 9b378f6ad48cf ("btrfs: fix infinite directory reads") to fix it, record the last_index when we open dir, and do not emit the entry which index >= last_index. The file->private_data now used in offset dir can use directly to do this, and we also update the last_index when we llseek the dir file. [brauner: only update last_index after seek when offset is zero like Jan suggested]
Published by kernel.org, the CVE Numbering Authority that assigned CVE-2024-46701, in its CVE record at CVE.org; reused under the CVE Program's Terms of Use (its licence and MITRE's copyright notice are in our Terms of Service).