Merge pull request #1887 from hashicorp/ec2-nonce-constant-compare

Use constant time comparisons for client nonce
This commit is contained in:
Vishal Nayak 2016-09-14 12:40:17 -04:00 committed by GitHub
commit eece4e047b
1 changed files with 2 additions and 1 deletions

View File

@ -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)) != 1 {
if !roleEntry.AllowInstanceMigration {
return fmt.Errorf("client nonce mismatch")
}