nilfs2: add missing check for inode numbers on directory entries
Description
In the Linux kernel, the following vulnerability has been resolved:
nilfs2: add missing check for inode numbers on directory entries
Syzbot reported that mounting and unmounting a specific pattern of corrupted nilfs2 filesystem images causes a use-after-free of metadata file inodes, which triggers a kernel bug in lru_add_fn().
As Jan Kara pointed out, this is because the link count of a metadata file gets corrupted to 0, and nilfs_evict_inode(), which is called from iput(), tries to delete that inode (ifile inode in this case).
The inconsistency occurs because directories containing the inode numbers of these metadata files that should not be visible in the namespace are read without checking.
Fix this issue by treating the inode numbers of these internal files as errors in the sanity check helper when reading directory folios/pages.
Also thanks to Hillf Danton and Matthew Wilcox for their initial mm-layer analysis.
Affected products
104- osv-coords103 versionspkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-debug&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%20Micro%205.5pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%20Micro%205.5pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt_debug&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-rt_debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%20Micro%205.5pkg:rpm/opensuse/kernel-source-azure&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-source-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source-rt&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-source-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms-azure&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-syms-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms-rt&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-syms-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2015.6pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP5pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP4%20LTSS%20EXTREME%20COREpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-ec2&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP4%20LTSS%20EXTREME%20COREpkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-livepatch-MICRO-6-0-RT_Update_2&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-livepatch-MICRO-6-0_Update_2&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-livepatch-SLE15-SP5-RT_Update_19&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-livepatch-SLE15-SP5_Update_19&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-livepatch-SLE15-SP6-RT_Update_2&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-livepatch-SLE15-SP6_Update_4&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-rt_debug&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-rt_debug&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP5pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP4%20LTSS%20EXTREME%20COREpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP5pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP4%20LTSS%20EXTREME%20COREpkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP5pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-trace&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP4%20LTSS%20EXTREME%20COREpkg:rpm/suse/kernel-xen&distro=SUSE%20Linux%20Enterprise%20Server%2011%20SP4%20LTSS%20EXTREME%20COREpkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP5pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6
< 5.14.21-150500.55.80.1+ 102 more
- (no CPE)range: < 5.14.21-150500.55.80.1
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.33.66.1
- (no CPE)range: < 6.4.0-150600.8.11.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2.150500.6.35.6
- (no CPE)range: < 6.4.0-150600.23.22.1.150600.12.8.3
- (no CPE)range: < 5.14.21-150500.55.80.2.150500.6.35.6
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.1
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.1
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-150600.10.8.3
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-150600.10.8.3
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 5.14.21-150500.33.66.1
- (no CPE)range: < 6.4.0-150600.8.11.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-150600.10.8.3
- (no CPE)range: < 5.14.21-150500.33.66.1
- (no CPE)range: < 6.4.0-150600.8.11.1
- (no CPE)range: < 5.14.21-150500.55.80.1
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.13.67.1
- (no CPE)range: < 6.4.0-150600.10.8.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.33.66.1
- (no CPE)range: < 6.4.0-150600.8.11.1
- (no CPE)range: < 5.14.21-150500.55.80.2.150500.6.35.6
- (no CPE)range: < 5.14.21-150500.55.80.2.150500.6.35.6
- (no CPE)range: < 6.4.0-150600.23.22.1.150600.12.8.3
- (no CPE)range: < 6.4.0-17.1.1.51
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 3.0.101-108.165.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 6.4.0-19.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 3.0.101-108.165.1
- (no CPE)range: < 6.4.0-19.1
- (no CPE)range: < 1-1.1
- (no CPE)range: < 1-1.1
- (no CPE)range: < 1-150500.11.3.2
- (no CPE)range: < 1-150500.11.3.2
- (no CPE)range: < 1-150600.1.3.2
- (no CPE)range: < 1-150600.13.3.3
- (no CPE)range: < 5.14.21-150500.55.80.1
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-150600.10.8.3
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-10.1
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-150600.10.8.3
- (no CPE)range: < 5.14.21-150500.33.66.1
- (no CPE)range: < 6.4.0-150600.8.11.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 3.0.101-108.165.1
- (no CPE)range: < 6.4.0-19.1
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-10.1
- (no CPE)range: < 5.14.21-150500.13.67.3
- (no CPE)range: < 6.4.0-150600.10.8.3
- (no CPE)range: < 5.14.21-150500.33.66.1
- (no CPE)range: < 6.4.0-150600.8.11.1
- (no CPE)range: < 5.14.21-150500.55.80.1
- (no CPE)range: < 6.4.0-150600.23.22.1
- (no CPE)range: < 3.0.101-108.165.1
- (no CPE)range: < 5.14.21-150500.13.67.1
- (no CPE)range: < 6.4.0-150600.10.8.1
- (no CPE)range: < 3.0.101-108.165.1
- (no CPE)range: < 3.0.101-108.165.1
- (no CPE)range: < 5.14.21-150500.55.80.2
- (no CPE)range: < 6.4.0-150600.23.22.1
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
8- git.kernel.org/stable/c/07c176e7acc5579c133bb923ab21316d192d0a95mitre
- git.kernel.org/stable/c/1b7d549ed2c1fa202c751b69423a0d3a6bd5a180mitre
- git.kernel.org/stable/c/265fff1a01cdc083aeaf0d934c929db5cc64aebfmitre
- git.kernel.org/stable/c/2f2fa9cf7c3537958a82fbe8c8595a5eb0861ad7mitre
- git.kernel.org/stable/c/3ab40870edb883b9633dc5cd55f5a2a11afa618dmitre
- git.kernel.org/stable/c/b11e8fb93ea5eefb2e4e719497ea177a58ff6131mitre
- git.kernel.org/stable/c/bb76c6c274683c8570ad788f79d4b875bde0e458mitre
- git.kernel.org/stable/c/c33c2b0d92aa1c2262d999b2598ad6fbd53bd479mitre
News mentions
0No linked articles in our index yet.