[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <281493dd-4b3c-3c99-8491-f5e6b0af602f@suse.com>
Date:   Thu, 17 Feb 2022 09:46:09 +0100
From:   Oliver Neukum <oneukum@...e.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC:     stern@...land.harvard.edu, USB list <linux-usb@...r.kernel.org>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        Giuliano Belinassi <giuliano.belinassi@...e.com>,
        Bjørn Mork <bjorn@...k.no>
Subject: malicious devices causing unaligned accesses [v2]
Hi,
going through the USB network drivers looking for ways
a malicious device could do us harm I found drivers taking
the alignment coming from the device for granted.
An example can be seen in qmi_wwan:
while (offset + qmimux_hdr_sz < skb->len) {
    hdr = (struct qmimux_hdr*)(skb->data + offset);
    len = be16_to_cpu(hdr->pkt_len);
As you can see the driver accesses stuff coming from the device with the
expectation
that it keep to natural alignment. On some architectures that is a way a
device could use to do bad things to a host. What is to be done about
that?
    Regards
        Oliver
Powered by blists - more mailing lists