]> git.hungrycats.org Git - linux/commitdiff
eCryptfs: Remove buggy and unnecessary write in file name decode routine
authorMichael Halcrow <mhalcrow@google.com>
Wed, 26 Nov 2014 17:09:16 +0000 (09:09 -0800)
committerWilly Tarreau <w@1wt.eu>
Fri, 18 Sep 2015 11:51:53 +0000 (13:51 +0200)
commit 942080643bce061c3dd9d5718d3b745dcb39a8bc upstream.

Dmitry Chernenkov used KASAN to discover that eCryptfs writes past the
end of the allocated buffer during encrypted filename decoding. This
fix corrects the issue by getting rid of the unnecessary 0 write when
the current bit offset is 2.

Signed-off-by: Michael Halcrow <mhalcrow@google.com>
Reported-by: Dmitry Chernenkov <dmitryc@google.com>
Suggested-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
CVE-2014-9683

Signed-off-by: Willy Tarreau <w@1wt.eu>
fs/ecryptfs/crypto.c

index 7e164bbbbbf2a0e0ad6e05e7fed1927ae74fdc4a..cc5790473188a54974eaf761f39f4d0c9853910f 100644 (file)
@@ -2088,7 +2088,6 @@ ecryptfs_decode_from_filename(unsigned char *dst, size_t *dst_size,
                        break;
                case 2:
                        dst[dst_byte_offset++] |= (src_byte);
-                       dst[dst_byte_offset] = 0;
                        current_bit_offset = 0;
                        break;
                }