mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Solar Designer <solar@openwall.com>
To: musl@lists.openwall.com
Subject: Re: Todo for release?
Date: Tue, 14 Aug 2012 06:13:17 +0400	[thread overview]
Message-ID: <20120814021317.GA10036@openwall.com> (raw)
In-Reply-To: <20120814014652.GC27715@brightrain.aerifal.cx>

On Mon, Aug 13, 2012 at 09:46:53PM -0400, Rich Felker wrote:
> On Tue, Aug 14, 2012 at 02:20:58AM +0400, Solar Designer wrote:
> > On Mon, Aug 13, 2012 at 11:31:54PM +0200, Szabolcs Nagy wrote:
> > > the sha2 based crypt seems to be designed recently
> > > and the spec has a public domain implementation
> > > http://www.akkadia.org/drepper/SHA-crypt.txt
> > 
> > Unfortunately, the reference implementation uses alloca() on both salt
> > and key strings.
> 
> Why? Does it need working space proportional to the input length?

It uses implementations of SHA-512 and SHA-256 that assume alignment, so
it provides such alignment by copying the inputs to aligned buffers if
the inputs to crypt() don't happen to be already aligned.

The same applies to glibc's md5crypt (but we're not going to use that
implementation of md5crypt anyway).

> In light of both the alloca issue and the way runtime scales with key
> length, I think we should just put an arbitrary limit on the key
> length and return failure for longer keys. This should not affect any
> real-world authentication systems, since the daemon you're attempting
> to login to will also be placing a (probably much lower) limit on the
> input buffer size for passwords (if it's not, you can trivially DoS
> the server by sending gigabyte-long passwords for random users).
> 
> Something like 128-256 bytes would probably be a very generous limit.

Yes, but the failure should be indicated in the way we discussed - those
"*0" and "*1" strings, not NULL.  Some real-world authentication systems
may be affected; it is not unrealistic even for a C program to use a
buffer several kilobytes large.

Alexander


  reply	other threads:[~2012-08-14  2:13 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-13 18:53 Rich Felker
2012-08-13 21:31 ` Szabolcs Nagy
2012-08-13 21:53   ` Rich Felker
2012-08-13 22:06     ` Solar Designer
2012-08-14 15:02       ` Szabolcs Nagy
2012-08-15  0:30         ` Szabolcs Nagy
2012-08-13 22:20   ` Solar Designer
2012-08-14  1:46     ` Rich Felker
2012-08-14  2:13       ` Solar Designer [this message]
2012-08-14  2:35         ` Rich Felker
2012-08-14  2:49           ` Solar Designer
2012-08-14  2:58             ` Rich Felker
2012-08-14  3:35               ` Solar Designer
2012-08-14  4:49                 ` Rich Felker
2012-08-15  4:08 ` Rich Felker
2012-08-15  8:55   ` Daniel Cegiełka
2012-08-15 10:20     ` Szabolcs Nagy
2012-08-15 10:53       ` Daniel Cegiełka
2012-08-15 13:10         ` John Spencer
2012-08-15 13:23           ` Daniel Cegiełka
2012-08-15 13:32       ` Szabolcs Nagy
2012-08-15 14:36         ` Rich Felker
2012-08-17  9:49           ` Szabolcs Nagy
2012-08-17 12:10             ` Rich Felker
2012-08-22 17:45               ` Daniel Cegiełka
2012-08-22 18:57                 ` Rich Felker
2012-08-22 19:15                   ` Daniel Cegiełka
2012-08-22 20:24                   ` Richard Pennington
2012-08-22 22:44                     ` Rich Felker
2012-08-15 12:36     ` Rich Felker
2012-08-15 12:57   ` Luca Barbato
2012-08-15 14:34     ` Rich Felker
2012-08-15 18:28       ` Luca Barbato
2012-08-15 18:35         ` Rich Felker
2012-08-15 21:25         ` Rich Felker
2012-08-16 17:11           ` Luca Barbato
2012-08-15 13:27   ` Richard Pennington
2012-08-15 22:44 ` boris brezillon

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=20120814021317.GA10036@openwall.com \
    --to=solar@openwall.com \
    --cc=musl@lists.openwall.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).