[horde] Horde form tokens

Andrew Morgan morgan at orst.edu
Tue Jul 7 16:27:22 UTC 2009


On Mon, 6 Jul 2009, Chuck Hagenbuch wrote:

> Quoting Andrew Morgan <morgan at orst.edu>:
>
>> I am running the latest stable releases of Horde (3.3.4) and IMP (4.3.4). I 
>> have a user reporting the following:
>> 
>> -------------------------------------------------------
>> I've been getting this message a lot, lately, and now it appears when
>> I want to delete messages:
>> 
>> "We cannot verify that this request was really sent by you. It could
>> be a malicious request. If you intended to perform this action, you
>> can retry it now."
>> 
>> 1) I log in through the web by use of Safari on my own laptop, using
>> the wireless available at the house where I'm staying in Australia.
>> The network name is akck21jk09, but I haven't tracked it down yet.
>> 2) I delete any unwanted messages.
>> 3) I click on purge deleted.
>> 4) Then the message sometimes (not always) appears, "We cannot verify...."
>> 5. Then I try purging again, as the message indicates. Usually it will
>> let me purge, but sometimes it won't unless I close Safire, reopen,
>> and log in again.
>> 
>> The irritating message sometimes appears when I try to send a new
>> message or even when I reply to a message that did not produce any
>> warning. In that case, after I write my reply, I click send, and
>> sometimes (not always) the message appears. I reclick on send, and
>> usually (not always), it permits the message to be sent.
>> -------------------------------------------------------
>> 
>> Is this triggered by the CSRF form token protection?
>
> It is triggered by the CSRF protection. This is different from (though 
> similar to) the form token system.
>
>> Right now, I have the Token System disabled ($conf[token][driver] = 
>> "none").
>
> That isn't relevant to these tokens.
>
>> Any advice on how I can track down what is happening here?
>
> Are you using a custom auth driver that might reset the user's $_SESSION 
> variable? That could do this. Otherwise you might check 
> $conf['urls']['token_lifetime'], which controls how long request tokens are 
> valid for.

I have auth handled by IMP.

$conf['urls']['token_lifetime'] = 240;
$conf['urls']['hmac_lifetime'] = 120;

I doubt the user is running into the 240 minute limit as often as he 
describes the problem happening.  :)

How does the CSRF work?  Maybe if I understood what was happening I could 
debug it further on my end.

Thanks,
 	Andy


More information about the horde mailing list