Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 31 Mar 2014 13:53:07 +0200
From: Sebastian Krahmer <krahmer@...e.de>
To: oss-security@...ts.openwall.com
Subject: Re: pam_timestamp internals

Hi

On Mon, Mar 31, 2014 at 03:37:02PM +0400, Dmitry V. Levin wrote:
> On Mon, Mar 31, 2014 at 12:57:11PM +0200, Sebastian Krahmer wrote:
> > On Mon, Mar 31, 2014 at 02:32:09PM +0400, Dmitry V. Levin wrote:
> > > On Mon, Mar 24, 2014 at 01:46:43PM +0100, Sebastian Krahmer wrote:
> > > > When playing with some PAM modules for my own projects, I came
> > > > across some implications of pam_timestamp (which is part of
> > > > upstream linux-pam) that should probably be addressed.
> > > > 
> > > > Most importantly, there seems to be a path traversal issue:
> > > 
> > > Thanks, Sebastian!  The issue has been fixed in upstream linux-pam by commit
> > > https://git.fedorahosted.org/cgit/linux-pam.git/commit/?id=Linux-PAM-1_1_8-32-g9dcead8
> > 
> > Thanks for taking care. I was about to write a patch on my own, but seems
> > not necessary anymore.
> > 
> > However, I think that
> > 
> > +	if (!strlen(tty) || !strcmp(tty, ".") || !strcmp(tty, "..")) {
> > 
> > could be insufficient.
> 
> There is a code in check_tty() that handles '/':
> 	if (strchr(tty, '/') != NULL) {
> 		...
> 		tty = strrchr(tty, '/') + 1;
> 	}

Ok, I was missing this; so it makes sense to just use strcmp().

> 
> > Any occurence of "." inside tty name should be evil.
> 
> Strange - yes, but why evil?

Any strange input in authentication code considered evil. :)

thx,
Sebastian


-- 

~ perl self.pl
~ $_='print"\$_=\47$_\47;eval"';eval
~ krahmer@...e.de - SuSE Security Team

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

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