Use constant time comparisons for client nonce
This commit is contained in:
parent
74a0bfadb8
commit
b1392567d1
|
@ -1,6 +1,7 @@
|
|||
package awsec2
|
||||
|
||||
import (
|
||||
"crypto/subtle"
|
||||
"encoding/pem"
|
||||
"fmt"
|
||||
"time"
|
||||
|
@ -126,7 +127,7 @@ func validateMetadata(clientNonce, pendingTime string, storedIdentity *whitelist
|
|||
//
|
||||
// This is a weak criterion and hence the `allow_instance_migration` option
|
||||
// should be used with caution.
|
||||
if clientNonce != storedIdentity.ClientNonce {
|
||||
if subtle.ConstantTimeCompare([]byte(clientNonce), []byte(storedIdentity.ClientNonce)) == 0 {
|
||||
if !roleEntry.AllowInstanceMigration {
|
||||
return fmt.Errorf("client nonce mismatch")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue