Re: [PATCH v2] firmware: make sure paths remain relative

From: Alan Cox
Date: Tue Dec 18 2012 - 16:56:52 EST


On Tue, 18 Dec 2012 13:04:49 -0800
Kees Cook <keescook@xxxxxxxxxxxx> wrote:

> Some devices have configurable firmware locations. If these configuration
> mechanisms are exposed to unprivileged userspace, it may be possible to
> load firmware from an unexpected location. To minimize the risk of this,
> make sure the string "../" does not appear in the firmware name. This
> means that neither the users of request_firmware, nor the uevent handler
> have to do this filtering themselves.

Have you verified no existing distribution ever does this ?


> + if (strstr(name, "../")) {

and this is obviously buggy and hasn't been tested

Hint foo/bar../baz

You need to check for ^../ /../ and /..$

Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/