> On 22.09.2015, at 23:58, Richard Weinberger <richard@xxxxxx> wrote: > > Make sure that data_size is less than LEB size. > Otherwise a handcrafted UBI image is able to trigger > an out of bounds memory access in ubi_compare_lebs(). > > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Richard Weinberger <richard@xxxxxx> > --- > drivers/mtd/ubi/io.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c > index 5bbd1f0..1fc23e4 100644 > --- a/drivers/mtd/ubi/io.c > +++ b/drivers/mtd/ubi/io.c > @@ -926,6 +926,11 @@ static int validate_vid_hdr(const struct ubi_device *ubi, > goto bad; > } > > + if (data_size > ubi->leb_size) { > + ubi_err(ubi, "bad data_size"); > + goto bad; > + } > + Nice catch! Reviewed-by: David Gstir <david@xxxxxxxxxxxxx>-- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html