The software specifies permissions for a security-critical resource in a way that allows the resource to be read or modified by unintended actors.
ftplib-4.0/src/qftp.c
The highlighted line of code below is the trigger point of this particular Fedora 24 misc weakness.
if (user == NULL)
{
user = "anonymous";
if (pass == NULL)
{
char *u,h[64];
u = getenv("USER");
if (gethostname(h,64) < 0)
{
perror("gethostname");
exit(EX_NETDB);
}
if ((u != NULL) && (h != NULL))
{
static char xxx[256];
sprintf(xxx,"%s@%s",u,h);
pass = xxx;
}
}
}
else if (pass == NULL)
#if defined(_WIN32) || defined(VMS)
exit(EX_LOGIN);
#else
if ((pass = getpass("Password: ")) == NULL)
exit(EX_SYSERR);
#endif
if (!FtpConnect(host,&conn))
{
fprintf(stderr,"Unable to connect to node %s\n",host);
exit(EX_CONNECT);
}
if (!FtpLogin(user,pass,conn))
{
fprintf(stderr,"Login failure\n%s",FtpLastResponse(conn));
exit(EX_LOGIN);
}
logged_in++;
}
}
void change_directory(char *root)
{
ftp_connect();
if (!FtpChdir(root, conn))
{
fprintf(stderr,"Change directory failed\n%s",FtpLastResponse(conn));
exit(EX_REMCMD);
}
}