[Bug 1784] ssh-keygen fails when filename of key file contains multiple slashes
bugzilla-daemon at bugzilla.mindrot.org
bugzilla-daemon at bugzilla.mindrot.org
Sun Jun 20 05:45:43 EST 2010
https://bugzilla.mindrot.org/show_bug.cgi?id=1784
--- Comment #1 from B S Srinidhi <srinidhi.bs at gmail.com> ---
It looks like the following code snippet might be the cause:
1896: /* Create ~/.ssh directory if it doesn't already exist.
*/
1897: snprintf(dotsshdir, sizeof dotsshdir, "%s/%s",
1898: pw->pw_dir, _PATH_SSH_USER_DIR);
1899: if (strstr(identity_file, dotsshdir) != NULL) {
From:
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/ssh-keygen.c?annotate=1.190
dotsshdir is expected to be a substring of identity_file. I think
before
calling strstr() on the 2 strings, identity_file should be
canonicalized
- either by realpath() or canonicalize_file_name()
On the same note, ssh-keygen will fail if the identity_file contains a
relative path:
# su - foo -c "ssh-keygen -t rsa -f /home/foo/bin/../.ssh/id_rsa -N ''"
Generating public/private rsa key pair.
open /home/foo/bin/../.ssh/id_rsa failed: No such file or directory.
Saving the key failed: /home/foo/bin/../.ssh/id_rsa.
--
Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
More information about the openssh-bugs
mailing list