New upstream release v1.42.13
This commit is contained in:
parent
b93e20b747
commit
d954db46e4
1
.gitignore
vendored
1
.gitignore
vendored
@ -20,3 +20,4 @@ e2fsprogs-1.41.12.tar.gz
|
||||
/e2fsprogs-1.42.10.tar.xz
|
||||
/e2fsprogs-1.42.11.tar.xz
|
||||
/e2fsprogs-1.42.12.tar.xz
|
||||
/e2fsprogs-1.42.13.tar.xz
|
||||
|
@ -1,51 +0,0 @@
|
||||
commit 49d0fe2a14f2a23da2fe299643379b8c1d37df73
|
||||
Author: Theodore Ts'o <tytso@mit.edu>
|
||||
Date: Fri Feb 6 12:46:39 2015 -0500
|
||||
|
||||
libext2fs: fix potential buffer overflow in closefs()
|
||||
|
||||
The bug fix in f66e6ce4446: "libext2fs: avoid buffer overflow if
|
||||
s_first_meta_bg is too big" had a typo in the fix for
|
||||
ext2fs_closefs(). In practice most of the security exposure was from
|
||||
the openfs path, since this meant if there was a carefully crafted
|
||||
file system, buffer overrun would be triggered when the file system was
|
||||
opened.
|
||||
|
||||
However, if corrupted file system didn't trip over some corruption
|
||||
check, and then the file system was modified via tune2fs or debugfs,
|
||||
such that the superblock was marked dirty and then written out via the
|
||||
closefs() path, it's possible that the buffer overrun could be
|
||||
triggered when the file system is closed.
|
||||
|
||||
Also clear up a signed vs unsigned warning while we're at it.
|
||||
|
||||
Thanks to Nick Kralevich <nnk@google.com> for asking me to look at
|
||||
compiler warning in the code in question, which led me to notice the
|
||||
bug in f66e6ce4446.
|
||||
|
||||
Addresses: CVE-2015-1572
|
||||
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
diff --git a/lib/ext2fs/closefs.c b/lib/ext2fs/closefs.c
|
||||
index 1f99113..ab5b2fb 100644
|
||||
--- a/lib/ext2fs/closefs.c
|
||||
+++ b/lib/ext2fs/closefs.c
|
||||
@@ -287,7 +287,7 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags)
|
||||
dgrp_t j;
|
||||
#endif
|
||||
char *group_ptr;
|
||||
- int old_desc_blocks;
|
||||
+ blk64_t old_desc_blocks;
|
||||
struct ext2fs_numeric_progress_struct progress;
|
||||
|
||||
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
|
||||
@@ -346,7 +346,7 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags)
|
||||
group_ptr = (char *) group_shadow;
|
||||
if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) {
|
||||
old_desc_blocks = fs->super->s_first_meta_bg;
|
||||
- if (old_desc_blocks > fs->super->s_first_meta_bg)
|
||||
+ if (old_desc_blocks > fs->desc_blocks)
|
||||
old_desc_blocks = fs->desc_blocks;
|
||||
} else
|
||||
old_desc_blocks = fs->desc_blocks;
|
@ -1,25 +0,0 @@
|
||||
commit fecb231f6fc83cf4b4ddf7ec34ace3723803a499
|
||||
Author: Darrick J. Wong <darrick.wong@oracle.com>
|
||||
Date: Fri Nov 7 21:26:14 2014 -0500
|
||||
|
||||
dumpe2fs: don't crash when the user provides no block device argument
|
||||
|
||||
If the user doesn't provide any arguments, the guard fails to run and
|
||||
the whole thing segfaults on ext2fs_open2(). Don't do that.
|
||||
|
||||
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c
|
||||
index 1eae5a3..4185d6e 100644
|
||||
--- a/misc/dumpe2fs.c
|
||||
+++ b/misc/dumpe2fs.c
|
||||
@@ -575,7 +575,7 @@ int main (int argc, char ** argv)
|
||||
usage();
|
||||
}
|
||||
}
|
||||
- if (argc - 1 > optind) {
|
||||
+ if (optind != argc - 1) {
|
||||
usage();
|
||||
exit(1);
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
commit 0462fd6db55de28d7e087d8d06ab20339acd8f67
|
||||
Author: Eric Sandeen <sandeen@sandeen.net>
|
||||
Date: Sun Dec 14 19:08:59 2014 -0500
|
||||
|
||||
resize2fs: don't require fsck to print min size
|
||||
|
||||
My previous change ended up requiring that the filesystem
|
||||
be fsck'd after the last mount, even if we are only querying
|
||||
the minimum size. This is a bit draconian, and it burned
|
||||
the Fedora installer, which wants to calculate minimum size
|
||||
for every filesystem in the box at install time, which in turn
|
||||
requires a full fsck of every filesystem.
|
||||
|
||||
Try this one more time, and separate out the tests to make things
|
||||
a bit more clear. If we're only printing the min size, don't
|
||||
require the fsck, as this is a bit less dangerous/critical.
|
||||
|
||||
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
diff --git a/resize/main.c b/resize/main.c
|
||||
index 983d8c2..9a35af0 100644
|
||||
--- a/resize/main.c
|
||||
+++ b/resize/main.c
|
||||
@@ -321,10 +321,30 @@ int main (int argc, char ** argv)
|
||||
}
|
||||
fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE;
|
||||
|
||||
- if (!(mount_flags & EXT2_MF_MOUNTED)) {
|
||||
- if (!force && ((fs->super->s_lastcheck < fs->super->s_mtime) ||
|
||||
- (fs->super->s_state & EXT2_ERROR_FS) ||
|
||||
- ((fs->super->s_state & EXT2_VALID_FS) == 0))) {
|
||||
+ /*
|
||||
+ * Before acting on an unmounted filesystem, make sure it's ok,
|
||||
+ * unless the user is forcing it.
|
||||
+ *
|
||||
+ * We do ERROR and VALID checks even if we're only printing the
|
||||
+ * minimimum size, because traversal of a badly damaged filesystem
|
||||
+ * can cause issues as well. We don't require it to be fscked after
|
||||
+ * the last mount time in this case, though, as this is a bit less
|
||||
+ * risky.
|
||||
+ */
|
||||
+ if (!force && !(mount_flags & EXT2_MF_MOUNTED)) {
|
||||
+ int checkit = 0;
|
||||
+
|
||||
+ if (fs->super->s_state & EXT2_ERROR_FS)
|
||||
+ checkit = 1;
|
||||
+
|
||||
+ if ((fs->super->s_state & EXT2_VALID_FS) == 0)
|
||||
+ checkit = 1;
|
||||
+
|
||||
+ if ((fs->super->s_lastcheck < fs->super->s_mtime) &&
|
||||
+ !print_min_size)
|
||||
+ checkit = 1;
|
||||
+
|
||||
+ if (checkit) {
|
||||
fprintf(stderr,
|
||||
_("Please run 'e2fsck -f %s' first.\n\n"),
|
||||
device_name);
|
@ -1,39 +0,0 @@
|
||||
From f096708126412c0569e40cfbd5740729976bf12a Mon Sep 17 00:00:00 2001
|
||||
From: Theodore Ts'o <tytso@mit.edu>
|
||||
Date: Sat, 28 Mar 2015 21:39:54 -0400
|
||||
Subject: e2fsck: use PROMPT_NONE for FUTURE_SB_LAST_*_FUDGED problems
|
||||
|
||||
This allows us to print a message warning the user that there is
|
||||
something funny going on with their hardware clock (probably time zone
|
||||
issues caused by trying to be compatible with legacy OS's such as
|
||||
Windows), without triggering a full file system check.
|
||||
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
diff --git a/e2fsck/problem.c b/e2fsck/problem.c
|
||||
index 12cf836..f442a33 100644
|
||||
--- a/e2fsck/problem.c
|
||||
+++ b/e2fsck/problem.c
|
||||
@@ -386,14 +386,14 @@ static struct e2fsck_problem problem_table[] = {
|
||||
/* Last mount time is in the future (fudged) */
|
||||
{ PR_0_FUTURE_SB_LAST_MOUNT_FUDGED,
|
||||
N_("@S last mount time is in the future.\n\t(by less than a day, "
|
||||
- "probably due to the hardware clock being incorrectly set) "),
|
||||
- PROMPT_FIX, PR_PREEN_OK | PR_NO_OK },
|
||||
+ "probably due to the hardware clock being incorrectly set)\n"),
|
||||
+ PROMPT_NONE, PR_PREEN_OK | PR_NO_OK },
|
||||
|
||||
/* Last write time is in the future (fudged) */
|
||||
{ PR_0_FUTURE_SB_LAST_WRITE_FUDGED,
|
||||
N_("@S last write time is in the future.\n\t(by less than a day, "
|
||||
- "probably due to the hardware clock being incorrectly set). "),
|
||||
- PROMPT_FIX, PR_PREEN_OK | PR_NO_OK },
|
||||
+ "probably due to the hardware clock being incorrectly set)\n"),
|
||||
+ PROMPT_NONE, PR_PREEN_OK | PR_NO_OK },
|
||||
|
||||
/* Block group checksum (latch question) is invalid. */
|
||||
{ PR_0_GDT_CSUM_LATCH,
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
||||
|
@ -1,44 +0,0 @@
|
||||
commit ebdf895b43a1ce499e4d2556a201e2a753fc422f
|
||||
Author: Theodore Ts'o <tytso@mit.edu>
|
||||
Date: Wed Oct 8 11:18:41 2014 -0400
|
||||
|
||||
e2fsck: fix free pointer dereferences
|
||||
|
||||
Commit 47fee2ef6a23a introduces some free pointer dereference bugs by
|
||||
not clearing ctx->fs after calling ext2fs_close_free().
|
||||
|
||||
Reported-by: Matthias Andree <mandree@FreeBSD.org>
|
||||
Cc: Lukas Czerner <lczerner@redhat.com>
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
diff --git a/e2fsck/unix.c b/e2fsck/unix.c
|
||||
index 66debcd..10036e7 100644
|
||||
--- a/e2fsck/unix.c
|
||||
+++ b/e2fsck/unix.c
|
||||
@@ -458,7 +458,7 @@ static void check_if_skip(e2fsck_t ctx)
|
||||
}
|
||||
log_out(ctx, "\n");
|
||||
skip:
|
||||
- ext2fs_close_free(&fs);
|
||||
+ ext2fs_close_free(&ctx->fs);
|
||||
e2fsck_free_context(ctx);
|
||||
exit(FSCK_OK);
|
||||
}
|
||||
@@ -1462,7 +1462,7 @@ failure:
|
||||
/*
|
||||
* Restart in order to reopen fs but this time start mmp.
|
||||
*/
|
||||
- ext2fs_close_free(&fs);
|
||||
+ ext2fs_close_free(&ctx->fs);
|
||||
flags &= ~EXT2_FLAG_SKIP_MMP;
|
||||
goto restart;
|
||||
}
|
||||
@@ -1692,7 +1692,7 @@ no_journal:
|
||||
_("while resetting context"));
|
||||
fatal_error(ctx, 0);
|
||||
}
|
||||
- ext2fs_close_free(&fs);
|
||||
+ ext2fs_close_free(&ctx->fs);
|
||||
goto restart;
|
||||
}
|
||||
if (run_result & E2F_FLAG_ABORT)
|
@ -1,7 +1,7 @@
|
||||
Summary: Utilities for managing ext2, ext3, and ext4 filesystems
|
||||
Name: e2fsprogs
|
||||
Version: 1.42.12
|
||||
Release: 5%{?dist}
|
||||
Version: 1.42.13
|
||||
Release: 1%{?dist}
|
||||
|
||||
# License tags based on COPYING file distinctions for various components
|
||||
License: GPLv2
|
||||
@ -11,11 +11,6 @@ Source1: ext2_types-wrapper.h
|
||||
Source2: e2fsck.conf
|
||||
|
||||
Patch1: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
|
||||
Patch2: e2fsprogs-1.42.12-use-after-free-fix.patch
|
||||
Patch3: e2fsprogs-1.42.12-closefs-cve.patch
|
||||
Patch4: e2fsprogs-1.42.12-dumpe2fs-segfault.patch
|
||||
Patch5: e2fsprogs-1.42.12-resize2fs-fsck.patch
|
||||
Patch6: e2fsprogs-1.42.12-time-fudge.patch
|
||||
|
||||
Url: http://e2fsprogs.sourceforge.net/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
@ -155,11 +150,6 @@ It was originally inspired by the Multics SubSystem library.
|
||||
# mildly unsafe but 'til I get something better, avoid full fsck
|
||||
# after an selinux install...
|
||||
%patch1 -p1 -b .featurecheck
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
|
||||
%build
|
||||
%configure --enable-elf-shlibs --enable-nls --disable-uuidd --disable-fsck \
|
||||
@ -341,6 +331,9 @@ exit 0
|
||||
%{_libdir}/pkgconfig/ss.pc
|
||||
|
||||
%changelog
|
||||
* Mon May 18 2015 Eric Sandeen <sandeen@redhat.com> 1.42.13-1
|
||||
- New upstream release
|
||||
|
||||
* Thu Apr 30 2015 Eric Sandeen <sandeen@redhat.com> 1.42.12-5
|
||||
- Don't trigger full check within time fudge window (#1202024)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user