The vulnerability described is a classic brute-force attack scenario due to the absence of rate-limiting on the login page. My analysis began by investigating the provided GitHub issue, which confirmed the nature of the vulnerability but did not point to a specific patch. This indicated that I needed to find the vulnerable code in its unpatched state.
I systematically navigated the repository structure, starting from the root and drilling down into the core/modules directory, which is a common location for core functionalities in CMS architectures. The User module was the obvious candidate for containing authentication logic. Within the User module, I located the Controller directory and subsequently the Login.php file.
Analyzing Login.php revealed the loginCheck function. This function's responsibility is to handle the POST request from the login form, validate the credentials, and attempt to authenticate the user. The code clearly shows the validation and authentication steps but lacks any mechanism to prevent or mitigate brute-force attacks, such as tracking failed login attempts, implementing time delays, or locking accounts after a certain number of failures. Therefore, the Soosyze\Core\Modules\User\Controller\Login::loginCheck function is the precise location of the vulnerability.