lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <2025070343-CVE-2025-38172-13be@gregkh> Date: Thu, 3 Jul 2025 10:36:28 +0200 From: Greg Kroah-Hartman <gregkh@...uxfoundation.org> To: linux-cve-announce@...r.kernel.org Cc: Greg Kroah-Hartman <gregkh@...nel.org> Subject: CVE-2025-38172: erofs: avoid using multiple devices with different type From: Greg Kroah-Hartman <gregkh@...nel.org> Description =========== In the Linux kernel, the following vulnerability has been resolved: erofs: avoid using multiple devices with different type For multiple devices, both primary and extra devices should be the same type. `erofs_init_device` has already guaranteed that if the primary is a file-backed device, extra devices should also be regular files. However, if the primary is a block device while the extra device is a file-backed device, `erofs_init_device` will get an ENOTBLK, which is not treated as an error in `erofs_fc_get_tree`, and that leads to an UAF: erofs_fc_get_tree get_tree_bdev_flags(erofs_fc_fill_super) erofs_read_superblock erofs_init_device // sbi->dif0 is not inited yet, // return -ENOTBLK deactivate_locked_super free(sbi) if (err is -ENOTBLK) sbi->dif0.file = filp_open() // sbi UAF So if -ENOTBLK is hitted in `erofs_init_device`, it means the primary device must be a block device, and the extra device is not a block device. The error can be converted to -EINVAL. The Linux kernel CVE team has assigned CVE-2025-38172 to this issue. Affected and fixed versions =========================== Issue introduced in 6.12 with commit fb176750266a3d7f42ebdcf28e8ba40350b27847 and fixed in 6.12.34 with commit 65115472f741ca000d7ea4a5922214f93cd1516e Issue introduced in 6.12 with commit fb176750266a3d7f42ebdcf28e8ba40350b27847 and fixed in 6.15.3 with commit cd04beb9ce2773a16057248bb4fa424068ae3807 Issue introduced in 6.12 with commit fb176750266a3d7f42ebdcf28e8ba40350b27847 and fixed in 6.16-rc1 with commit 9748f2f54f66743ac77275c34886a9f890e18409 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2025-38172 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: fs/erofs/super.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/65115472f741ca000d7ea4a5922214f93cd1516e https://git.kernel.org/stable/c/cd04beb9ce2773a16057248bb4fa424068ae3807 https://git.kernel.org/stable/c/9748f2f54f66743ac77275c34886a9f890e18409
Powered by blists - more mailing lists