|
Message-ID: <20150127171045.GX4574@brightrain.aerifal.cx> Date: Tue, 27 Jan 2015 12:10:46 -0500 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: gethostbyname buffer overflow (glibc) On Tue, Jan 27, 2015 at 05:59:36PM +0100, Daniel Cegiełka wrote: > eg from: > > http://www.openwall.com/lists/oss-security/2015/01/27/9 > > # gcc ghost.c && ./a.out > should not happen > > > retval = gethostbyname_r(name, &resbuf, temp.buffer, > sizeof(temp.buffer), &result, &herrno); > > if (strcmp(temp.canary, CANARY) != 0) { > puts("vulnerable"); > exit(EXIT_SUCCESS); > } > if (retval == ERANGE) { > puts("not vulnerable"); > exit(EXIT_SUCCESS); > } > puts("should not happen"); > exit(EXIT_FAILURE); > > Double exit. Is something wrong with gethostbyname_r() in musl? I'm not sure what you mean by "double exit". As far as I can tell, musl just detects errors in a different order, and returns ENOENT (2) rather than ERANGE because the name is not valid. 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.