> 2008/11/7 Andrea De Iacovo <[EMAIL PROTECTED]>: > > Il giorno ven, 07/11/2008 alle 15.36 -0600, Raphael Geissert ha scritto: > >> > >> You can also set cookies via javascript code, e.g. > >> <script>document.cookie = "GLOBALS=1;domain=.domain.tld"; </script> > > > > ok that's true. > > > > So let's see what we have: > > 1. $_REQUEST references are widely used in wordpress. > > 2. the standard EGPCS makes cookies overwrite GET and POST values in > > $_REQUEST > > 3. such values are used in "dangerous" cases (such as user deletion or > > logout after redirection). > > 4. "grave" data loss (user, post, comments deletion) could be avoided > > not logging in as administrator (but only as a user with some > > privileges) > > All fine, although 4 is more a social than a technical problem, as > there is no way we can force users to do that (although I definitely > agree that it is a way to mitigate many possible issues).
As for sure I can mention something in the readme file with the next
release.
>
> > 5. the issue is related to wordpress only and does not influence other
> > parts of the system
> > 6. we can try to prepare a workaround while we wait an officile fix from
> > upstream: maybe I could implement a function to check out if dangerous
> > cookies are present and stop any other operation until those cookies are
> > not removed.
>
> You better not, that's how the GLOBALS DoS work.
I think I did not explain this well.
GLOBALS DoS works because the application simply dies without explicit
errors or something like that.
I think I could do something like:
function check_maliciuos_cookies(){
$malicius = array("action", "GLOBALS", "ANYTHING_ELSE");
foreach ($_COOKIES as $cname => $cvalue)
foreach ($malicious as $mname => $mvalue)
if ($cname == $mname)
die("Malicious cookie detected. Please
delete cookies for this host
and come back");
}
Obviously the code should have a better optimization, this was just an
example.
Richard, the solution you suggested would make me modify the whole
wordpress code. For such great changes I think it's better to work with
upstream.
Thank you all.
Cheers.
Andrea
signature.asc
Description: Questa รจ una parte del messaggio firmata digitalmente

