From: nekral-guest Date: Wed, 16 Feb 2011 00:18:45 +0000 (+0000) Subject: backporting: CVE-2011-0721 X-Git-Tag: accepted/tizen/7.0/base/20240520.210853 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2Faccepted%2Ftizen%2F7.0%2Fbase%2F20240520.210853;p=platform%2Fupstream%2Fshadow-utils.git backporting: CVE-2011-0721 shadow-4.1.4.2 -> shadow-4.1.4.3 *** security: - CVE-2011-0721: An insufficient input sanitation in chfn can be exploited to create users or groups in a NIS environment. Origin: upstream, https://github.com/shadow-maint/shadow/commit/0419fc4 Change-Id: I075d55f270ceecfe327640bbac2474a52019ecb8 Signed-off-by: Youngjae Cho --- diff --git a/src/chfn.c b/src/chfn.c index 915202d..bd3e62e 100644 --- a/src/chfn.c +++ b/src/chfn.c @@ -551,14 +551,14 @@ static void get_old_fields (const char *gecos) static void check_fields (void) { int err; - err = valid_field (fullnm, ":,="); + err = valid_field (fullnm, ":,=\n"); if (err > 0) { fprintf (stderr, _("%s: name with non-ASCII characters: '%s'\n"), Prog, fullnm); } else if (err < 0) { fprintf (stderr, _("%s: invalid name: '%s'\n"), Prog, fullnm); fail_exit (E_NOPERM); } - err = valid_field (roomno, ":,="); + err = valid_field (roomno, ":,=\n"); if (err > 0) { fprintf (stderr, _("%s: room number with non-ASCII characters: '%s'\n"), Prog, roomno); } else if (err < 0) { @@ -566,17 +566,17 @@ static void check_fields (void) Prog, roomno); fail_exit (E_NOPERM); } - if (valid_field (workph, ":,=") != 0) { + if (valid_field (workph, ":,=\n") != 0) { fprintf (stderr, _("%s: invalid work phone: '%s'\n"), Prog, workph); fail_exit (E_NOPERM); } - if (valid_field (homeph, ":,=") != 0) { + if (valid_field (homeph, ":,=\n") != 0) { fprintf (stderr, _("%s: invalid home phone: '%s'\n"), Prog, homeph); fail_exit (E_NOPERM); } - err = valid_field (slop, ":"); + err = valid_field (slop, ":\n"); if (err > 0) { fprintf (stderr, _("%s: '%s' contains non-ASCII characters\n"), Prog, slop); } else if (err < 0) { diff --git a/src/chsh.c b/src/chsh.c index 25e4fb7..aa8ea26 100644 --- a/src/chsh.c +++ b/src/chsh.c @@ -528,7 +528,7 @@ int main (int argc, char **argv) * users are restricted to using the shells in /etc/shells. * The shell must be executable by the user. */ - if (valid_field (loginsh, ":,=") != 0) { + if (valid_field (loginsh, ":,=\n") != 0) { fprintf (stderr, _("%s: Invalid entry: %s\n"), Prog, loginsh); fail_exit (1); }