Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 25 Apr 2018 10:57:55 +0200
From: Karsten König <mail@...enig.net>
To: oss-security@...ts.openwall.com
Subject: Re: Authorization bypass in PHPLiteAdmin since 1.9.5

Hello,

wbowling from GitHub found out that this bug is even more serious and
can be used to bypass the authorization for arbitary passwords. The bug
is in Line 40 of classes/Authorization.php[0]. The salt is generated
with every reload. You can create cookies again and again until you have
a salt which gives you a hash like '0e179250003459658275905707244744'.
Now you can login with that specific salt and '0' as the cookie.

Best,

Karsten

[0]
https://github.com/phpLiteAdmin/pla/blob/f3998704a846ddf71539092cd6fe84f2e9c35725/classes/Authorization.php#L40

On 23.04.2018 06:41, Karsten König wrote:
> Hello,
> 
> I found a small issue in PHPLiteAdmin. It's an authorization bypass
> which works since version 1.9.5 from 2014 (current is 1.9.7.1) because
> PLA uses '==' instead of '===' for the password comparison in
> 'attemptGrant' of the 'Authorization' class. If the password is set to
> one which correspondends to a number in scientific notation, one could
> easier bruteforce the password or bypass it completely, e.g.:
> 
> php > var_dump('200' == '2e2');
> bool(true)
> php > var_dump('0' == '0e2');
> bool(true)
> php > var_dump('0' == '0e2342');
> bool(true)
> 
> I opened an issue at GitHub for this[0] and have written about it[1]
> (section 2 is the interesting one for this issue).
> 
> Best,
> 
> Karsten
> 
> [0] https://github.com/phpLiteAdmin/pla/issues/11
> [1]
> http://k3research.outerhaven.de/posts/small-mistakes-lead-to-big-problems.html
> 

Powered by blists - more mailing lists

Your e-mail address:

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

Powered by Openwall GNU/*/Linux - Powered by OpenVZ