Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 26 Mar 2022 18:09:11 +0100
From: Marcin Kozlowski <marcinguy@...il.com>
To: kernel-hardening@...ts.openwall.com
Subject: Re: OOB accesses in ax88179_rx_fixup() (in USB network card driver) - variants

gl620a.c is some usb to usb computer cable, and lg-vl600.c a usb 4g dongle.
Both drivers seem NOT to use skb metadata (they take packet len and count
from skb->data directly).

Why would ASIX driver use metadata and others (those 2) don't?

Could not find any info on skb Metadata.

Thanks,

Marcin

On Mon, 21 Mar 2022, 10:39 Marcin Kozlowski <marcinguy@...il.com> wrote:

> Hi List,
>
> Don't have much experience and knowledge in that area.
>
> Found this:
>
>
> https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-linus&id=57bc3d3ae8c14df3ceb4e17d26ddf9eeab304581
>
> Checked out a few drivers code and wondered if anybody did a variant
> analysis of this (possibly yes?) However, it seems like Kernel drivers code
> for gl620a.c and lg-vl600.c (quick search) don't "Make sure that the bounds
> of the metadata array are inside the SKB (and in front of the counter at
> the end)."
>
> Example from gl620a.c
>
> https://github.com/torvalds/linux/blob/master/drivers/net/usb/gl620a.c
>
> I think, there is no check for:
>
> /* Make sure that the bounds of the metadata array are inside the SKB
> * (and in front of the counter at the end).
> */
> if (pkt_cnt * 2 + hdr_off > skb->len)
> return 0;
>
> Most likely false positive. Would be great to verify this and learn about
> it.
>
> Thanks,
> Marcin
>

Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.