CVE-2021-29487: October CMS auth bypass and account takeover
7.4
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.6511%
CWE
Published
8/30/2021
Updated
1/29/2023
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
october/system | composer | < 1.0.472 | 1.0.472 |
october/system | composer | >= 1.1.1, < 1.1.5 | 1.1.5 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The core vulnerability stems from improper type comparisons in authentication checks. The patch commits show multiple instances where loose equality operators (==) were replaced with strict comparisons (===) and values were explicitly cast to integers. The most critical appears in checkPersistCode()
which handles persistent session cookies. Loose comparison here would allow type juggling (e.g., 0 == '0abc') enabling forged cookies. The hasPermission()
changes suggest secondary authorization weaknesses. Both functions directly relate to the described auth bypass via manipulated cookies when combined with Laravel's encryption key.