[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1398979597-3589-1-git-send-email-keescook@chromium.org>
Date: Thu, 1 May 2014 14:26:33 -0700
From: Kees Cook <keescook@...omium.org>
To: linux-kernel@...r.kernel.org
Cc: Kees Cook <keescook@...omium.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Randy Dunlap <rdunlap@...radead.org>,
Ingo Molnar <mingo@...nel.org>, Rik van Riel <riel@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Mel Gorman <mgorman@...e.de>,
Aaron Tomlin <atomlin@...hat.com>,
Li Zefan <lizefan@...wei.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Ryan Mallon <rmallon@...il.com>,
Wanpeng Li <liwanp@...ux.vnet.ibm.com>,
Dario Faggioli <raistlin@...ux.it>, Jens Axboe <axboe@...com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Frederic Weisbecker <fweisbec@...il.com>,
Michael Ellerman <michael@...erman.id.au>,
linux-doc@...r.kernel.org
Subject: [PATCH v3 0/4] sysctl: fix incorrect write position handling
When writing to a sysctl string, each write, regardless of VFS position,
began writing the string from the start. This meant the contents of
the last write to the sysctl controlled the string contents instead of
the first.
This misbehavior was featured in an exploit against Chrome OS. While it's
not in itself a vulnerability, it's a weirdness that isn't on the mind
of most auditors: "This filter looks correct, the first line written
would not be meaningful to sysctl" doesn't apply here, since the size
of the write and the contents of the final write are what matter when
writing to sysctls.
This adds the sysctl kernel.sysctl_writes_strict to control the write
behavior. The default (0) reports when VFS position is non-0 on a write,
but retains legacy behavior, -1 disables the warning, and 1 enables the
position-respecting behavior.
Thanks,
-Kees
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists