From: "Hanno Böck" <hanno@hboeck.de>
To: linux-kernel@vger.kernel.org
Cc: security@kernel.org
Subject: VDSO randomization not very random
Date: Thu, 11 Dec 2014 22:45:01 +0100 [thread overview]
Message-ID: <20141211224501.2292cdee@pc> (raw)
[-- Attachment #1: Type: text/plain, Size: 1456 bytes --]
Hello,
I already reported this into your bugzilla, however Greg KH told me it
might be a better idea to post it here:
With current Linux kernels it seems the address randomization for
loading the vdso library is not that random and can easily be
bruteforced.
This can easily be demonstrated. Get libvdso address from one
executable:
$ ldd /usr/bin/less|grep vdso
linux-vdso.so.1 (0x00007fff73bfe000)
Now run ldd mutliple times and check if the same address appears:
c=0; while (true); do let c=c+1; ldd /usr/bin/less|grep
0x00007fff73bfe000; [ "$?" == 0 ] && echo $c; done
It usually takes only a few seconds and around 1000-2000 tries until
the loading address is repeated (note that results may vary, it seems
the randomization is biased, some values repeat more often than others).
This information is mostly from this blog entry:
http://v0ids3curity.blogspot.in/2014/12/return-to-vdso-using-elf-auxiliary.html
And here's a thread on oss-security discussing the issue:
http://www.openwall.com/lists/oss-security/2014/12/09/10
The latest version of paxtest added a check for this that guesses the
randomness of vdso:
https://grsecurity.net/~spender/paxtest-0.9.13.tar.gz $ ./randvdso
VDSO randomisation test : 11 quality bits (guessed)
Bugzilla entry:
https://bugzilla.kernel.org/show_bug.cgi?id=89591
cu,
--
Hanno Böck
http://hboeck.de/
mail/jabber: hanno@hboeck.de
GPG: BBB51E42
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next reply other threads:[~2014-12-11 21:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-11 21:45 Hanno Böck [this message]
2014-12-11 22:02 ` VDSO randomization not very random Kees Cook
2014-12-11 22:41 ` Andy Lutomirski
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=20141211224501.2292cdee@pc \
--to=hanno@hboeck.de \
--cc=linux-kernel@vger.kernel.org \
--cc=security@kernel.org \
/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