Hash functions have a number of properties needed, including the property that no collisions must be able to be found. Generally, if we can find collisions for hash functions, we consider the hash function broken.
However, not all uses of hash functions need such strict properties from the function.
One case where hash functions are used is HKDF, to generate potentially multiple keys from a limited length of cryptographical quality keying material.
Let's say I would do something as ridiculous as using MD4 for HKDF, in an application where 128-bit long keys are considered sufficient (for 256-bit long keys maybe HKDF-MD4 wouldn't be secure). MD4 has been broken a long time ago.
Would using MD4 for HKDF create a vulnerability? Or is the quality of MD4 and other broken hash functions like MD5 and SHA-1 sufficient for usage in HKDF, assuming the digest size is considered long enough?
The reason I'm interested is that I'm developing an application where I'm planning to use HKDF, and obviously I'm going to use SHA-256, but I'm wondering whether I should offer the option of using SHA-512 and maybe SHA-3 for future-proofing it. If finding collisions in SHA-256 (the most plausible way it will be broken) does not make it unsafe for HKDF, then SHA-512 and SHA-3 implementations maybe are not needed.