A TLS/JA3 hash collision occurs when two or more distinct TLS clients (such as browsers, bots, or malware) generate the same JA3 fingerprint hash, despite having different underlying configurations or behaviors. This happens because JA3 simplifies a client’s TLS Client Hello into a limited set of parameters, which are then hashed—commonly using MD5—into a fixed-length fingerprint.
Since different clients can share identical combinations of cipher suites, extensions, and other JA3 fields, the resulting JA3 hash may not be unique. This undermines the reliability of JA3 for precise client identification or threat detection.
Also known as: JA3 collision, TLS fingerprint hash duplication
A legitimate browser and a malware tool both support the same cipher suites and TLS extensions. When they initiate TLS handshakes, their Client Hello messages are structurally the same in JA3 terms. As a result, they both generate the same JA3 string:
Even though the browser and malware behave very differently, their identical JA3 fingerprint leads to a hash collision, which can hinder accurate detection without additional context.