CVE-2020-15248 is a medium-severity (CVSS 4.2) CWE-863 vulnerability in october/backend. A fix is available for october/backend — see the affected versions and patch details below.
Privilege escalation by backend users assigned to the default "Publisher" system role
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
october/backendReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
Description
Impact
Backend users with the default "Publisher" system role have access to create & manage users where they can choose which role the new user has. This means that a user with "Publisher" access has the ability to escalate their access to "Developer" access.
Patches
Issue has been patched in Build 470 (v1.0.470) & v1.1.1.
Workarounds
Apply https://github.com/octobercms/october/commit/78a37298a4ed4602b383522344a31e311402d829 to your installation manually if unable to upgrade to Build 470 or v1.1.1.
References
Reported by Hoan Hoang
For more information
If you have any questions or comments about this advisory:
- Email us at [email protected]
Threat assessment:
<img width="1098" alt="Screen Shot 2020-10-10 at 1 37 25 PM" src="https://user-images.githubusercontent.com/7253840/95663611-e6326c80-0afd-11eb-8a1e-8b767a7202fb.png">Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | october/backend | ≥ 1.0.319&&< 1.0.470 | 1.0.470composer require october/backend:^1.0.470 |
Affected Products
octoberoctobercmsDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for october/backend, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update october/backend to 1.0.470 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2020-15248 is resolved across your whole dependency graph.
Workarounds
Close the privilege gap rather than the entry point: audit which accounts, roles and service identities can reach the affected operation, drop the component to the least privilege it actually needs, and review file and directory permissions created by earlier installs — a default left in place is what makes this reachable.
Frequently Asked Questions
Is CVE-2020-15248 in your dependencies?
Find it across Packagist, including transitive dependencies.