phpLiteAdmin versions 1.9.7.1 and below suffer from an authorization bypass vulnerability.
d4cdc05f789f02812006ddc2f04c93065977af3d3e13fccdee0a1147ceb6b814
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