>On 21 Jul 2001, Dale Southard wrote: > >> Sshd should probably be constraining its match to the length of the >> crypt() output rather than the length of the password file entry. [I >> say ``probably'' here because some systems (AIX) seem to produce null >> password file hashes when `passwd` is given a null password. If that >> behavior is due to the underlying crypt() function, then the >> ``probably'' suggestion I just made yields remote root on those >> systems.] > >What's wrong with just using `strcmp' (i.e. no constraint at all)? After >all, what you want to know is just whether the two strings are identical, >period. And unless crypt() and /etc/shadow are both broken, it will stop >at the right place. I realize it goes against the reflexive "only strn* >functions are safe" idea, but that shouldn't substitute for thinking... It does look a knee-jerk str* is bad, use strn* type of code change. strcmp() is *never* dangerous. strncmp() is really only useful for prefix checking and should not be introduced as part of "security fixes". Casper