My favorites | Sign in
Logo
                
New issue | Search
for
| Advanced search | Search tips
Issue 66: INonceStore interface not designed for database backends
1 person starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  andrewarnott
Closed:  Apr 2008
Type-Defect
Priority-Medium
Release-2.1


Sign in to add a comment
 
Reported by andrewarnott, Apr 18, 2008
INonceStore assumes that a lock around the calls to ContainsNonce and
StoreNonce will protect against nonce name collisions.  In a web farm
environment this is not the case, and a shared database backend for the
nonce table will generate occasional exceptions or even allow replay
attacks in certain race condition scenarios.

We need to alter the INonceStore methods to include a built-in atomic
check-existence-and-add semantic method to replace the Contains and Store
individual methods.
Comment 1 by andrewarnott, Apr 20, 2008
Fixed in master (v2.1).  The StoreNonce and ContainsNonce methods have been combined
into a TryStoreNonce method, and comments have been added describing the new method
semantic and what precautions implementers should take.
Status: Fixed
Sign in to add a comment

Hosted by Google Code