From: "George Spelvin" <linux@horizon.com>
To: keescook@chromium.org, viro@ZenIV.linux.org.uk
Cc: akpm@linux-foundation.org, dan.carpenter@oracle.com,
JBeulich@suse.com, joe@perches.com, kosaki.motohiro@gmail.com,
linux-kernel@vger.kernel.org, linux@horizon.com,
penguin-kernel@i-love.sakura.ne.jp
Subject: Re: [PATCH 0/2] vsprintf: ignore %n again
Date: 16 Sep 2013 12:30:25 -0400 [thread overview]
Message-ID: <20130916163025.15457.qmail@science.horizon.com> (raw)
In-Reply-To: <20130916155504.GC13318@ZenIV.linux.org.uk>
> This is completely pointless. *ANY* untrusted format string kernel-side
> is pretty much it. Blocking %n is not "defense in depth", it's security
> theater. Again, if attacker can feed an arbitrary format string to
> vsnprintf(), it's over - you've lost. It's not just about information
> leaks vs. ability to store a value of attacker's choosing at the address
> of attacker's choosing as it was in userland. Kernel-side an ability to
> trigger read from an arbitrary address is much nastier than information
> leak risk; consider iomem, for starters.
You've got to be kidding. Yes, sometimes a read can have effects, but
such addresses are rare, not present in the main kernel memory mapping,
and you'd have to find a pointer to such an address (or a preceding
address with no nul bytes in between) on the stack at a known offset when
designing the printf string. That's tricky, and not always possible.
Even for hardware devices, read side effects have gone out of style,
other than forcing PCI posted writes through.
And just because a hardware read has side effects doesn't mean it's
exploitable. Being able to drop characters from a serial port is only
a DoS.
On the other hand, the ability to write an arbitrary, attacker-controlled
small integer to any address findable on the stack is very powerful and
easy to exploit.
Those two risks aren't remotely equivalent.
next prev parent reply other threads:[~2013-09-16 16:30 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-16 7:43 Kees Cook
2013-09-16 7:43 ` [PATCH 1/2] remove all uses of printf's %n Kees Cook
2013-09-16 8:09 ` Geert Uytterhoeven
2013-09-16 15:00 ` Kees Cook
2013-09-17 13:06 ` Tetsuo Handa
2013-09-17 14:34 ` Kees Cook
2013-09-17 20:57 ` George Spelvin
2013-09-19 8:56 ` Tetsuo Handa
2013-09-19 14:28 ` Kees Cook
2013-09-20 4:09 ` Tetsuo Handa
2013-09-20 4:23 ` Joe Perches
2013-09-20 4:53 ` Kees Cook
2013-09-20 8:08 ` Jiri Slaby
2013-09-20 19:24 ` Kees Cook
2013-09-20 19:33 ` Joe Perches
2013-09-21 0:28 ` Tetsuo Handa
2013-09-22 8:09 ` George Spelvin
2013-09-22 8:16 ` Geert Uytterhoeven
2013-09-23 21:24 ` Kees Cook
2013-09-30 8:16 ` Tetsuo Handa
2013-09-16 11:41 ` Tetsuo Handa
2013-09-16 14:59 ` Kees Cook
2013-09-16 15:09 ` Joe Perches
2013-09-16 15:25 ` Kees Cook
2013-09-16 15:44 ` Joe Perches
2013-09-16 17:21 ` George Spelvin
2013-09-16 18:03 ` Joe Perches
2013-09-16 16:07 ` George Spelvin
2013-09-16 16:13 ` Joe Perches
2013-09-16 16:39 ` George Spelvin
2013-09-16 17:53 ` Joe Perches
2013-09-16 19:15 ` George Spelvin
2013-09-16 19:25 ` Joe Perches
2013-09-16 7:43 ` [PATCH 2/2] vsprintf: ignore %n again Kees Cook
2013-09-16 15:55 ` [PATCH 0/2] " Al Viro
2013-09-16 16:15 ` Lars-Peter Clausen
2013-09-16 16:30 ` George Spelvin [this message]
2013-09-16 18:20 ` Kees Cook
2013-09-18 13:14 ` Tetsuo Handa
2013-09-18 14:11 ` Dan Carpenter
2013-09-18 14:28 ` Dan Carpenter
2013-09-18 15:22 ` George Spelvin
2013-09-18 14:32 ` Kees Cook
2013-09-19 2:11 ` Tetsuo Handa
2013-09-19 7:08 ` Tetsuo Handa
2013-09-18 14:47 ` Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130916163025.15457.qmail@science.horizon.com \
--to=linux@horizon.com \
--cc=JBeulich@suse.com \
--cc=akpm@linux-foundation.org \
--cc=dan.carpenter@oracle.com \
--cc=joe@perches.com \
--cc=keescook@chromium.org \
--cc=kosaki.motohiro@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=viro@ZenIV.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®