lkml.org 
[lkml]   [2020]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/7] Input: pegasus_notetaker: fix endpoint sanity check
    On Tue, Dec 10, 2019 at 12:37:31PM +0100, Johan Hovold wrote:
    > The driver was checking the number of endpoints of the first alternate
    > setting instead of the current one, something which could be used by a
    > malicious device (or USB descriptor fuzzer) to trigger a NULL-pointer
    > dereference.
    >
    > Fixes: 1afca2b66aac ("Input: add Pegasus Notetaker tablet driver")
    > Cc: stable <stable@vger.kernel.org> # 4.8
    > Cc: Martin Kepplinger <martink@posteo.de>
    > Signed-off-by: Johan Hovold <johan@kernel.org>

    Looks like the stable tag was removed when this one was applied, and
    similar for patches 2, 4 and 7 of this series (commits 3111491fca4f,
    a8eeb74df5a6, 6b32391ed675 upstream).

    While the last three are mostly an issue for the syzbot fuzzer, we have
    started backporting those as well.

    This one (bcfcb7f9b480) is more clear cut as it can be used to trigger a
    NULL-deref.

    I only noticed because Sasha picked up one of the other patches in the
    series which was never intended for stable.

    > ---
    > drivers/input/tablet/pegasus_notetaker.c | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > diff --git a/drivers/input/tablet/pegasus_notetaker.c b/drivers/input/tablet/pegasus_notetaker.c
    > index a1f3a0cb197e..38f087404f7a 100644
    > --- a/drivers/input/tablet/pegasus_notetaker.c
    > +++ b/drivers/input/tablet/pegasus_notetaker.c
    > @@ -275,7 +275,7 @@ static int pegasus_probe(struct usb_interface *intf,
    > return -ENODEV;
    >
    > /* Sanity check that the device has an endpoint */
    > - if (intf->altsetting[0].desc.bNumEndpoints < 1) {
    > + if (intf->cur_altsetting->desc.bNumEndpoints < 1) {
    > dev_err(&intf->dev, "Invalid number of endpoints\n");
    > return -EINVAL;
    > }

    Johan

    \
     
     \ /
      Last update: 2020-02-04 09:24    [W:2.381 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site