alpine 3.8
crypto weakness #591

4

Weakness Breakdown


Definition:

This weakness involves creating non-standard or non-tested algorithms, using weak algorithms or applying cryptographic algorithms incorrectly. Algorithms that were once considered safe are commonly later found to be unsafe, as the algorithms were broken.

Warning code(s):

The crypt functions use a poor one-way hashing algorithm; since they only accept passwords of 8 characters or fewer and only a two-byte salt, they are excessively vulnerable to dictionary attacks given today's faster computing equipment.

File Name:

arpwatch/src/arpwatch-2.1a15/lbl/os-sunos3.h

Context:

The highlighted line of code below is the trigger point of this particular Alpine 3.8 crypto weakness.

 #if __GNUC__ <= 1
int	read(int, const char *, u_int);
int	write(int, const char *, u_int);
#endif

__dead	void abort(void) __attribute__((volatile));
int	abs(int);
#ifdef	__STDC__
struct	sockaddr;
#endif
int	accept(int, struct sockaddr *, int *);
int	access(const char *, int);
u_int	alarm(u_int);
int	atoi(const char *);
long	atol(const char *);
int	bcmp(const void *, const void *, u_int);
void	bcopy(const void *, void *, u_int);
void	bzero(void *, u_int);
char	*calloc(u_int, u_int);
int	chdir(const char *);
int	chmod(const char *, int);
int	chown(const char *, int, int);
int	close(int);
int	connect(int, struct sockaddr *, int);
char	*crypt(const char *, const char *);
int	daemon(int, int);
void	endgrent(void);
void	endpwent(void);
void	endservent(void);
int	execl(const char *, ...);
int	execlp(const char *, ...);
int	execv(const char *, char * const *);
__dead	void exit(int) __attribute__((volatile));
__dead	void _exit(int) __attribute__((volatile));
int	fchmod(int, int);
int	fchown(int, int, int);
int	fcntl(int, int, int);
int	ffs(int);
int	flock(int, int);
int	fork(void);
void	free(void *);
#ifdef	__STDC__
struct	stat;
#endif
int	fstat(int, struct stat *);
int	ftruncate(int, u_long);
int	getdtablesize(void);
char	*getenv __P((char *));
int	gethostname(char *, int);
int	getopt(int, char * const *, const char *); 

The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark on a world­wide basis.