Messages in this thread | | | Date | Wed, 5 Apr 2006 11:43:15 -0400 | From | "Jon Smirl" <> | Subject | Re: [patch 03/26] sysfs: zero terminate sysfs write buffers (CVE-2006-1055) |
| |
On 4/5/06, Al Viro <viro@ftp.linux.org.uk> wrote: > On Wed, Apr 05, 2006 at 11:38:06AM -0400, Jon Smirl wrote: > > On 4/5/06, Al Viro <viro@ftp.linux.org.uk> 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. > > How about _NOT_ using sysfs and just having ->read()/->write() on a file in fs > of your own? ~20 lines for all of it, not counting #include...
Sysfs attributes allow full read/write on their file handles. But GregKH has been discouraging that.
-- Jon Smirl jonsmirl@gmail.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |