The vulnerability, identified as CVE-2025-9078, is a result of using a weak hashing algorithm (FNV-1) for caching link metadata without sufficient validation, leading to a cache poisoning vulnerability. The core of the issue lies in the getLinkMetadataFromCache function within server/channels/app/post_metadata.go. In the vulnerable versions, this function would retrieve cached link metadata using a hash generated from the URL. However, it did not verify if the URL stored within the cached data actually matched the URL that was requested. Due to the weaknesses in the FNV-1 hashing algorithm, it is possible for an attacker to generate a hash collision, where two different URLs produce the same hash. An attacker could abuse this by first caching metadata for a malicious URL they control. Then, when a legitimate user posts a different URL that happens to have the same hash, the application would incorrectly serve the attacker's cached metadata. This could be used to show users malicious link previews or potentially leak information from private posts if the attacker can create a collision with a URL to a private resource. The security patches address this by adding a crucial verification step. After retrieving the metadata from the cache using the hash, the code now compares the URL stored in the cache with the requested URL. If they do not match, the cached data is discarded. This ensures that even if a hash collision occurs, the application will not serve incorrect or malicious data.