bin/132302: [patch] contrib/smbfs subr.c: saved passwords >18 char
fail
David Horn
dhorn2000 at gmail.com
Wed Mar 4 01:10:02 PST 2009
>Number: 132302
>Category: bin
>Synopsis: [patch] contrib/smbfs subr.c: saved passwords >18 char fail
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Mar 04 09:10:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: David Horn
>Release: -current as of 20090304
>Organization:
>Environment:
FreeBSD top-bsd 8.0-CURRENT FreeBSD 8.0-CURRENT #2: Thu Feb 26 03:23:18 EST 2009 dhorn at top-bsd:/usr/obj/usr/src/sys/DHORN i386
>Description:
If a user has a saved password (encrypted using `smbutil crypt`)for smbfs that is longer than 18 characters, the smb_simplecrypt() and smb_simpledecrypt() functions will not work properly causing authentication failures.
e.g.
/etc/nsmb.conf
[SERVER:USER]
password=$$178465324253e0c07f5f6fcc8d0a3b3bc8d8d131212
/usr/src/contrib/smbfs/lib/smb/subr.c
>How-To-Repeat:
1) Have a samba server
2) Have an account on samba server that has a long password (>18 characters)
3) Create your simple encrypted password using `smbutil crypt` for use in nsmb.conf
4) Save your password into ~/nsmb.conf or /etc/nsmb.conf under the appropriate [SERVER:USER] heading.
>Fix:
-Don't try to bitwise xor with >=255.
This patch maintains backwards compatibility with people who already use nsmb.conf with shorter (<=17 char) passwords successfully.
Unified diff patch attached.
Patch attached with submission follows:
--- subr.c~ 2001-12-20 11:16:25.000000000 -0500
+++ subr.c 2009-03-04 03:29:07.000000000 -0500
@@ -232,6 +232,7 @@
islower(ch) ? ('a' + (ch - 'a' + 13) % 26) : ch);
ch ^= pos;
pos += 13;
+ if (pos > 248) pos -= 220;
sprintf(dst, "%02x", ch);
dst += 2;
}
@@ -262,6 +263,7 @@
return EINVAL;
ch ^= pos;
pos += 13;
+ if (pos > 248) pos -= 220;
if (isascii(ch))
ch = (isupper(ch) ? ('A' + (ch - 'A' + 13) % 26) :
islower(ch) ? ('a' + (ch - 'a' + 13) % 26) : ch);
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list