AuthenticationMethods in sshd_config accepting empty method list
Petr Lautrbach
plautrba at redhat.com
Thu Sep 25 00:30:20 EST 2014
On Thu, Jun 19, 2014 at 02:56:49PM +0200, mvadkert wrote:
> Hi everyone,
>
> I just came across a contradiction between the man page of AuthenticationMethods and the accepted
> methods list.
>
> According to the sshd_config manual page:
> """
> AuthenticationMethods
>
> Specifies the authentication methods that must be successfully completed for a user to be granted
> access. This option must be followed by one or more comma-separated lists of authentication method
> names. Successful authentication requires completion of every method in at least one of these lists.
> """"
>
> But in reality the also an empty list is accepted by sshd (servconf.c:1605).
>
> What is the reason to accept an empty method list? Does the man page need an update?
>
Hi,
I believe that this is a bug in the parsing code which doesn't handle empty list correctly. The following patch
fixes it.
--- a/servconf.c
+++ b/servconf.c
@@ -1630,6 +1630,8 @@ process_server_config_line(ServerOptions *options, char *line,
break;
case sAuthenticationMethods:
+ if (cp == NULL || *cp == '\0')
+ fatal("%.200s line %d: Missing argument.", filename, linenum);
if (*activep && options->num_auth_methods == 0) {
while ((arg = strdelim(&cp)) && *arg != '\0') {
if (options->num_auth_methods >=
--
Petr Lautrbach
More information about the openssh-unix-dev
mailing list