Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 4 Apr 2013 20:41:00 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: Pending issues for next release

On Thu, Apr 04, 2013 at 07:37:42PM -0400, Rich Felker wrote:
> On Tue, Apr 02, 2013 at 01:11:16PM +0200, Szabolcs Nagy wrote:
> > * Rich Felker <dalias@...ifal.cx> [2013-04-01 19:31:44 -0400]:
> > > Here's a quick list of open issues that we might want to take care of
> > > before another release:
> > > 
> > > - ARM-optimized memcpy, etc.
> > > - put*ent functions in pwd/shadow/etc.
> > > - program_invocation_name
> > > - Posssible misaligned access bugs in mbsrtowcs (?)
> > > - [u]intmax_t underlying type mismatches ABI on 64-bit systems (?)
> > 
> > and fix [u]intmax_t and wchar_t limits in stdint.h etc. (U,L,LL suffix)
> 
> For [u]intmax_t, assuming all archs use the lowest-rank type that can
> hold the value, wouldn't it suffice to just omit the suffix entirely?
> Then the compiler would give it the right type. Or will this break in
> c89 mode or something obscure like that?

Should be fixed, but I'd appreciate a second review of it.

> > other pending things from my todo:
> > arpa/tftp.h (inetutils http://www.openwall.com/lists/musl/2012/11/26/2 )
> 
> OK I'll look at this.

That email also mentions some extra macros for utmp/wtmp pathname. I
looked at the issue, and utmp.h is actually defining _PATH_UTMP and
_PATH_WTMP in ways that conflict with paths.h... We should address
this. Any ideas how? I'd like to keep the /dev/null definitions, but
I'm a little bit scared some broken program might see them and end up
unlinking /dev/null and replacing it with an empty utmp file at
startup.

> > mkostemp (better rand and stack address hiding)
> 
> Any specific recommendations? As temp filename generation is not
> really security-critical (at worst you can slow down or cause
> tempfile-creation errors in a target program), I think we should
> probably avoid using the stack address at all. Leaking the stack
> address to an attacker is too great a risk.

A single call to clock_gettime lacks sufficient entropy to fill the
30-bit space we have. Should we just accept that? I don't see a lot of
value to adding any PRNG since the attack vector would simply be
predicting the time clock_gettime will return (within a range) then
creating filenames to clash with every possible output for that range
of inputs. The PRNG does not increase the size of the filename space
that must be filled. One option would be calling clock_gettime twice,
but the second call will have significantly less entropy than the
first since the interval of time between them is somewhat predictable.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.