The vulnerability lies in the way Liferay Portal handles redirects. The application was susceptible to DNS rebinding attacks, which could allow a remote attacker to redirect users to arbitrary external URLs. The root cause of the vulnerability was the use of unsafe methods to generate redirect URLs, such as PortalUtil.getCurrentURL(). These methods did not properly validate the domain of the redirect URL, allowing an attacker to specify a malicious domain that would be trusted by the application.
The patch addresses this vulnerability by replacing the unsafe redirect URL generation methods with PortletURLBuilder. This utility ensures that the redirect URL is properly constructed and validated, preventing DNS rebinding attacks. The identified vulnerable functions are those that were modified to use PortletURLBuilder or other safe redirect URL generation methods. These functions are directly involved in processing user input and generating redirect URLs, making them the primary targets for exploitation.