Описание
October CMS auth bypass and account takeover
Impact
An attacker can exploit this vulnerability to bypass authentication using a specially crafted persist cookie.
- To exploit this vulnerability, an attacker must obtain a Laravel’s secret key for cookie encryption and signing.
- Due to the logic of how this mechanism works, a targeted user account must be logged in while the attacker is exploiting the vulnerability.
- Authorization via persist cookie not shown in access logs.
Patches
- Issue has been patched in Build 472 and v1.1.5
- Shortened patch instructions
Workarounds
Apply https://github.com/octobercms/library/commit/016a297b1bec55d2e53bc889458ed2cb5c3e9374 and https://github.com/octobercms/library/commit/5bd1a28140b825baebe6becd4f7562299d3de3b9 to your installation manually if you are unable to upgrade.
[Update 2022-01-20] Shortened patch instructions can be found here.
Recommendations
We recommend the following steps to make sure your server stays secure:
- Keep server OS and system software up to date.
- Keep October CMS software up to date.
- Use a multi-factor authentication plugin.
- Change the default backend URL or block public access to the backend area.
- Include the Roave/SecurityAdvisories Composer package to ensure that your application doesn't have installed dependencies with known security vulnerabilities.
References
Bugs found as part of Solar Security CMS Research. Credits to: • Andrey Basarygin • Andrey Guzei • Mikhail Khramenkov • Alexander Sidukov • Maxim Teplykh
For more information
If you have any questions or comments about this advisory:
- Email us at hello@octobercms.com
Ссылки
Пакеты
october/system
< 1.0.472
1.0.472
october/system
>= 1.1.1, < 1.1.5
1.1.5
Связанные уязвимости
octobercms in a CMS platform based on the Laravel PHP Framework. In affected versions of the october/system package an attacker can exploit this vulnerability to bypass authentication and takeover of and user account on an October CMS server. The vulnerability is exploitable by unauthenticated users via a specially crafted request. This only affects frontend users and the attacker must obtain a Laravel secret key for cookie encryption and signing in order to exploit this vulnerability. The issue has been patched in Build 472 and v1.1.5.