CVE-2021-21276CWE-863

Privilege escalation in Polr

Critical · published February 1, 2021

CVSS v3.1
9.3
EPSS
7%
Percentile
94.3
In the wild
Unconfirmed
What it is

🚨 Admin access is just a cookie header away! In Polr versions before 2.3.0, attackers can gain admin privileges during the setup phase without even having an account. 🔥 Imagine a hotel where anyone can waltz into the admin office just by slipping the receptionist a cleverly crafted note that looks official. In this case, the note is the manipulated cookie header that tricks the system into thinking the attacker has the right keys to the kingdom. With this vulnerability, an attacker could exploit the setup process to gain full control over your Polr instance. This means they could delete URLs, manipulate data, or even lock you out entirely, leaving your users in the lurch. The consequences could be absolutely devastating for your site's integrity and trustworthiness.

Put simply

Imagine a hotel where anyone can waltz into the admin office just by slipping the receptionist a cleverly crafted note that looks official. In this case, the note is the manipulated cookie header that tricks the system into thinking the attacker has the right keys to the kingdom. The issue stems from a loose comparison (==) in the SetupController, allowing attackers to bypass authentication checks when accessing the /setup/finish endpoint. The patched version ensures a strict comparison (===) is used and that checks are in place to confirm no user accounts exist before setup proceeds.

What to do

With this vulnerability, an attacker could exploit the setup process to gain full control over your Polr instance. This means they could delete URLs, manipulate data, or even lock you out entirely, leaving your users in the lurch. The consequences could be absolutely devastating for your site's integrity and trustworthiness. To secure your instance, update Polr to version 2.3.0 as soon as possible. Alternatively, if you can't upgrade right now, add `abort(404)` to the very first line of `finishSetup` in `SetupController.php` to block unauthorized access. Make this a priority! You've got this! Follow these steps, and you'll strengthen your defenses like a true security hero! 🛡️

The record
Technical detail
CVSS v3.1
9.3 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
CVSS v4.0
Not supplied
EPSS
0.07164 · 94.3th percentile
Weakness
CWE-863 · Incorrect Authorization
Published
2021-02-01T00:00Z
EPSS history
Timeline
  • 01 FEB 00:00Z
    Privilege escalation in Polr
    cvelistv5