Re: [PATCH 2/2] iscsi-target: chap auth shouldn't match username with trailing garbage

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

 



On Wed, 2013-11-20 at 14:19 -0800, Eric Seppanen wrote:
> In iSCSI negotiations with initiator CHAP enabled, usernames with
> trailing garbage are permitted, because the string comparison only
> checks the strlen of the configured username.
> 
> e.g. "usernameXXXXX" will be permitted to match "username".
> 
> Just check one more byte so the trailing null char is also matched.
> 
> Signed-off-by: Eric Seppanen <eric@xxxxxxxxxxxxxxx>
> ---

Also applied, with a CC' to stable.

Thanks!

--nab

>  drivers/target/iscsi/iscsi_target_auth.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/target/iscsi/iscsi_target_auth.c b/drivers/target/iscsi/iscsi_target_auth.c
> index 7505fdd..3e80188 100644
> --- a/drivers/target/iscsi/iscsi_target_auth.c
> +++ b/drivers/target/iscsi/iscsi_target_auth.c
> @@ -146,6 +146,7 @@ static int chap_server_compute_md5(
>  	unsigned char client_digest[MD5_SIGNATURE_SIZE];
>  	unsigned char server_digest[MD5_SIGNATURE_SIZE];
>  	unsigned char chap_n[MAX_CHAP_N_SIZE], chap_r[MAX_RESPONSE_LENGTH];
> +	size_t compare_len;
>  	struct iscsi_chap *chap = conn->auth_protocol;
>  	struct crypto_hash *tfm;
>  	struct hash_desc desc;
> @@ -184,7 +185,9 @@ static int chap_server_compute_md5(
>  		goto out;
>  	}
>  
> -	if (memcmp(chap_n, auth->userid, strlen(auth->userid)) != 0) {
> +	/* Include the terminating NULL in the compare */
> +	compare_len = strlen(auth->userid) + 1;
> +	if (strncmp(chap_n, auth->userid, compare_len) != 0) {
>  		pr_err("CHAP_N values do not match!\n");
>  		goto out;
>  	}


--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux