When an empty session save path is supplied the files session storage
modules falls back to the path specified by the TMPDIR environment
variable. Unfortunately this magic fallback happens after the open_basedir
check and can therefore be used to bypass it.
Detailed information
The summary and the POC say it all.
Proof of concept, exploit or instructions to reproduce
To check this problem try the following code, when open_basedir is set.
The first ini_set() will error out, because the path is in violation with
the open_basedir. The second ini_set() will succeed and the session file
will be created in the path specified by TMPDIR.
Notes
We recommend to never ever rely on open_basedir. We consider the
open_basedir restrictions just a nice way to decrease the impact of include
vulnerabilities.
The MOPB should have made clear by now, that the moment an attacker is able
to run PHP code, PHP has more than enough flaws for him to bypass all
restrictions enforced by the PHP interpreter.
Feedback :
If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.