Re: [PATCH] USB: input: powermate: fix oops with malicious USB descriptors

From: Greg Kroah-Hartman
Date: Mon Mar 14 2016 - 12:15:55 EST


On Mon, Mar 14, 2016 at 10:12:53AM -0400, Josh Boyer wrote:
> The powermate driver expects at least one valid USB endpoint in its
> probe function. If given malicious descriptors that specify 0 for
> the number of endpoints, it will crash. Validate the number of
> endpoints on the interface before using them.
>
> The full report for this issue can be found here:
> http://seclists.org/bugtraq/2016/Mar/85
>
> Reported-by: Ralf Spenneberg <ralf@xxxxxxxxxxxxxx>
> Cc: stable <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx>
> ---
> drivers/input/misc/powermate.c | 3 +++
> 1 file changed, 3 insertions(+)

I'll queue these up after 4.6-rc1 is out as the merge window is closed
right now, but we might want to think about a better way to handle this
type of thing in the USB core. A way to keep from having to add checks
like this for every single driver, when the driver shouldn't even really
have their probe function called unless their expected endpoints are
going to be there.

I'll think about that over the next few weeks...

thanks,

greg k-h