GnuDIP MD5 Password Insecure?

Problem Description

The FreedomBox Wiki explains the GnuDIP protocol. The main advantage point is suppose to be the MD5 hashing of the password. MD5 is broken for several years now.

Expected Results

Us a hashing algorithm which is not inherently broken, either use SHA2, SHA3, bcrpyt, scrpyt or Argon2.

Actual results

MD5 is used according to the documentation (link in problem description).

I m not sure if you have seen more resources that prove that md5 password hashing is broken but the link you provide here pretty much says that md5 for passwords is safe to use.

Sorry, for using such a bad link, which discusses MD5 weaknesses on a purely scientific level. I think the Wikipedia page regarding MD5 makes it clear:

Although MD5 was initially designed to be used as a cryptographic hash function, it has been found to suffer from extensive vulnerabilities.


The Wikipedia page points to enough resources to understand why MD5 is not considered secure anymore.

Furthermore, the GnuDIP protocol uses HTTP GET to request the salt, signature and time to the client. The client then sends the response as query parameter:

GET /gnudip/cgi-bin/gdipupdt.cgi?salt=FWhclL9QKf&time=1002164819&sign=db1bb954db78f1fbe9749e063f770636&user=gnudip&pass=ce2fe5f986d7e2f31060aeb35d4b9c2e& HTTP/1.0 


This way a man-in-the-middle attacker is able to figure out what the password hash, salt, signature and timestamp is. An attacker can simply calculate a rainbow table for the password offline and find out what the password is. MD5 hashes can be calculated by the millions per second, depending on the hardware of the attacker.

However, the security of is not jeopardized, because a traffic is encrypted via TLS (HTTPS).

In any case, stating that the password is secure, because of the use of MD5 is simply wrong. It is only secure in case you use TLS (HTTPS).

@balduin, Thanks for investigating and bringing this up.

In the long run, we are looking to move away from GNUDIP for protocol and for server. That should overcome any lingering concerns with its security. If you have any suggestions regarding what could be a good server/protocol please write about it.

1 Like