[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

yubikey-personalization 1.3.2-1squeeze1



Hi,

I've uploaded yubikey-personalization 1.3.2-1squeeze1.  It fixes two
security-related bugs, so I'd appreciate if it could be approved for
squeeze, even if they're technically not RC.

Changelog:

yubikey-personalization (1.3.2-1squeeze1) testing-proposed-updates; urgency=high

  * Cherry-pick 8dfdff1 from upstream:
    Reject -a values with upper case hex as yubikey_hex_decode only
    handles lowercase values.  This makes invalid input not end up with a
    null key.
  * Cherry-pick 76769856..0fa7260 from upstream: 
    Fix bug that prevented salting during AES key generation from
    passwords from working.  Closes: #608443

 -- Tollef Fog Heen <tfheen@debian.org>  Wed, 26 Jan 2011 08:15:34 +0100

I've attached the diff from the previous version as well.

Please Cc me on replies, I'm not subscribed to -release.

Best regards,
-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are
diff -u yubikey-personalization-1.3.2/debian/changelog yubikey-personalization-1.3.2/debian/changelog
--- yubikey-personalization-1.3.2/debian/changelog
+++ yubikey-personalization-1.3.2/debian/changelog
@@ -1,3 +1,15 @@
+yubikey-personalization (1.3.2-1squeeze1) testing-proposed-updates; urgency=high
+
+  * Cherry-pick 8dfdff1 from upstream:
+    Reject -a values with upper case hex as yubikey_hex_decode only
+    handles lowercase values.  This makes invalid input not end up with a
+    null key.
+  * Cherry-pick 76769856..0fa7260 from upstream: 
+    Fix bug that prevented salting during AES key generation from
+    passwords from working.  Closes: #608443
+
+ -- Tollef Fog Heen <tfheen@debian.org>  Wed, 26 Jan 2011 08:15:34 +0100
+  
 yubikey-personalization (1.3.2-1) unstable; urgency=low
 
   * New upstream release:
only in patch2:
unchanged:
--- yubikey-personalization-1.3.2.orig/ykpersonalize.c
+++ yubikey-personalization-1.3.2/ykpersonalize.c
@@ -57,9 +57,9 @@
 "-cXXX..   A 12 char hex value to use as access code for programming\n"
 "          (this does NOT SET the access code, that's done with -oaccess=)\n"
 "-oOPTION  change configuration option.  Possible OPTION arguments are:\n"
-"          salt=ssssssss       Salt to be used for key generation.  If\n"
-"                              none is given, a unique random one will be\n"
-"                              generated.\n"
+"          salt=ssssssss       Salt to be used when deriving key from a\n"
+"                              password.  If none is given, a unique random\n"
+"                              one will be generated.\n"
 "          fixed=xxxxxxxxxxx   The public identity of key, in MODHEX.\n"
 "                              This is 0-16 characters long.\n"
 "          uid=xxxxxx          The uid part of the generated ticket, in HEX.\n"
only in patch2:
unchanged:
--- yubikey-personalization-1.3.2.orig/ykpers.c
+++ yubikey-personalization-1.3.2/ykpers.c
@@ -1,6 +1,6 @@
 /* -*- mode:C; c-file-style: "bsd" -*- */
 /*
- * Copyright (c) 2008, 2009, Yubico AB
+ * Copyright (c) 2008, 2009, 2010, Yubico AB
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -134,15 +134,9 @@
 		return 1;  /* Bad AES key */
 	}
 
-/* Make sure that the hexkey is made up of only [0-9a-f] */
-	int i;
-	for (i=0; i < strlen(hexkey); i++) {
-		char c = tolower(hexkey[i]);
-/* In ASCII, 0-9 == 48-57 and a-f == 97-102 */
-		if ( c<48 || (c>57 && c<97) || c>102 ) {
-			return 1;
-		}
-	}
+	/* Make sure that the hexkey is made up of only [0-9a-f] */
+	if (! yubikey_hex_p(hexkey))
+		return 1;
 
 	yubikey_hex_decode(aesbin, hexkey, sizeof(aesbin));
 	memcpy(cfg->ykcore_config.key, aesbin, sizeof(cfg->ykcore_config.key));
@@ -178,8 +172,8 @@
 					size_t read_bytes = 0;
 
 					while (read_bytes < sizeof(_salt)) {
-						size_t n = fread(&cfg->ykcore_config.key[read_bytes],
-								 1, KEY_SIZE - read_bytes,
+						size_t n = fread(&_salt[read_bytes],
+								 1, sizeof (_salt) - read_bytes,
 								 random_file);
 						read_bytes += n;
 					}

Reply to: