Re: [patch 03/26] sysfs: zero terminate sysfs write buffers (CVE-2006-1055)

From: Jon Smirl
Date: Wed Apr 05 2006 - 11:38:23 EST


On 4/5/06, Al Viro <viro@xxxxxxxxxxxxxxxx> wrote:
> On Wed, Apr 05, 2006 at 07:09:28PM +0400, Sergey Vlasov wrote:
> > This will break the "color_map" sysfs file for framebuffers -
> > drivers/video/fbsysfs.c:store_cmap() expects to get exactly 4096 bytes
> > for a colormap with 256 entries. In fact, the original patch which
> > changed PAGE_SIZE - 1 to PAGE_SIZE:
>
> ... cheerfully assuming that nobody assumes NUL-termination and
> everyone (sysfs patch writers!) certainly uses the length argument.
> Fscking brilliant, that.
>
> Are you willing to audit all sysfs ->show() in the kernel? Original
> author of that turd had not been.
>
> FWIW, "color_map" is a blatant abuse of interface. Doesn't get
> any more borderline...

The firmware interface is worse. You write the ROM image line by line
to the attribute and a hidden counter tracks how far your are into the
image.

There needs to be a standardized way to transfer larger pieces of data
via sysfs or we should go back to IOCTLs.

--
Jon Smirl
jonsmirl@xxxxxxxxx
-
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/