Eric Biggers
a57eb14b74
ext4: limit xattr size to INT_MAX
...
commit ce3fd194fcc6fbdc00ce095a852f22df97baa401 upstream.
ext4 isn't validating the sizes of xattrs where the value of the xattr
is stored in an external inode. This is problematic because
->e_value_size is a u32, but ext4_xattr_get() returns an int. A very
large size is misinterpreted as an error code, which ext4_get_acl()
translates into a bogus ERR_PTR() for which IS_ERR() returns false,
causing a crash.
Fix this by validating that all xattrs are <= INT_MAX bytes.
This issue has been assigned CVE-2018-1095.
https://bugzilla.kernel.org/show_bug.cgi?id=199185
https://bugzilla.redhat.com/show_bug.cgi?id=1560793
Reported-by: Wen Xu <wen.xu@gatech.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org
Fixes: e50e5129f384 ("ext4: xattr-in-inode support")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-24 09:36:30 +02:00
..
2017-11-30 08:40:49 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-03 10:24:32 +01:00
2017-12-20 10:10:17 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-08 14:26:32 +02:00
2017-11-02 11:10:55 +01:00
2018-04-08 14:26:27 +02:00
2018-04-24 09:36:27 +02:00
2017-11-24 08:37:05 +01:00
2017-11-02 11:10:55 +01:00
2017-11-30 08:40:44 +00:00
2018-02-16 20:23:11 +01:00
2017-11-02 11:10:55 +01:00
2017-11-30 08:40:45 +00:00
2017-11-02 11:10:55 +01:00
2017-09-07 11:59:42 -07:00
2017-11-02 11:10:55 +01:00
2018-04-24 09:36:30 +02:00
2018-04-19 08:56:20 +02:00
2017-12-05 11:26:29 +01:00
2017-11-02 11:10:55 +01:00
2017-10-25 16:34:27 +02:00
2017-12-20 10:10:29 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-19 08:56:21 +02:00
2017-11-30 08:40:45 +00:00
2018-04-24 09:36:30 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-02-16 20:22:59 +01:00
2018-02-03 17:39:08 +01:00
2017-11-02 11:10:55 +01:00
2018-03-28 18:24:43 +02:00
2018-03-21 12:06:43 +01:00
2018-02-03 17:39:08 +01:00
2018-04-19 08:56:21 +02:00
2017-11-30 08:40:44 +00:00
2017-11-02 11:10:55 +01:00
2018-02-25 11:07:47 +01:00
2017-11-02 11:10:55 +01:00
2018-02-22 15:42:16 +01:00
2017-11-02 11:10:55 +01:00
2018-01-31 14:03:43 +01:00
2018-04-19 08:56:21 +02:00
2018-02-16 20:23:05 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-02-03 17:39:11 +01:00
2017-09-06 17:27:26 -07:00
2018-04-24 09:36:22 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-31 18:10:38 +02:00
2017-11-02 11:10:55 +01:00
2018-04-24 09:36:21 +02:00
2017-12-20 10:10:36 +01:00
2017-11-02 11:10:55 +01:00
2018-03-03 10:24:33 +01:00
2018-03-21 12:06:43 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-09-04 19:05:15 -04:00
2017-09-14 18:13:32 -07:00
2017-09-14 18:13:32 -07:00
2017-11-02 11:10:55 +01:00
2017-10-13 16:18:33 -07:00
2017-10-03 17:54:25 -07:00
2017-10-13 16:18:33 -07:00
2017-11-30 08:40:45 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-30 08:40:53 +00:00
2018-04-12 12:32:13 +02:00
2018-03-08 22:41:06 -08:00
2017-11-02 11:10:55 +01:00
2017-09-08 18:26:49 -07:00
2018-03-03 10:24:21 +01:00
2017-12-17 15:07:59 +01:00
2017-11-02 11:10:55 +01:00
2017-08-28 00:50:23 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-09-13 09:11:44 -07:00
2017-09-13 09:11:44 -07:00
2017-11-02 11:10:55 +01:00
2017-10-16 12:11:56 -07:00
2017-07-21 13:57:31 -04:00
2017-11-02 11:10:55 +01:00
2018-02-22 15:42:25 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-19 08:56:19 +02:00
2018-02-03 17:38:53 +01:00
2017-11-02 11:10:55 +01:00
2017-09-05 12:53:12 +02:00
2018-02-16 20:23:05 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-02-22 15:42:28 +01:00
2017-11-02 11:10:55 +01:00
2017-09-04 19:05:15 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-03 10:24:24 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-10 09:31:17 +01:00
2017-11-02 11:10:55 +01:00
2017-10-04 18:03:15 +11:00