
Proof-of-concept e riproduzione in laboratorio per CVE-2026-81294, un'escalation di privilegi non autenticata nel plugin WordPress Authorizer tramite corrispondenza email OAuth2 non verificata.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-81294
WordPress — Authorizer 3.15.1 — Paul Ryan
Escalation de privilegi non autenticata in Authorizer <= 3.15.1.
| CVE | CVE-2026-81294 · CVE.org |
| CWE | CWE-266 |
| CVSS | Critico: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Prodotto | WordPress — Authorizer |
| Affetto | tutte le versioni fino alla 3.15.1 (inclusa) |
| Corretto | 3.15.2 e successive |
| Auth | nessuna (vedi source map) |
| Licenza | GNU Affero GPL v3.0 |
| Lab | solo 127.0.0.1 · pacchetto di divulgazione per vendor/client, non uno scanner |
GitHub emails[] senza verified è il sink divulgato. Il lab è un OAuth2 generico con lo stesso controllo email_verified mancante. HTTP è GET wp-login.php?external=oauth2.
GET/wp-login.php?external=oauth2GET /wp-login.php?external=oauth2 (keep PHPSESSID)302 /oauth-mock/authorize then 302 back with code+stateWP exchanges token, userinfo [email protected] unverifiedget_user_by email admin, wp_set_auth_cookieGET /?auth_lab=1 POCWitness81294GET /?auth_lab=1 dopo OAuth è POCWitness81294. L'HTML della pagina di login senza quella stringa non lo è.
Fai questo prima: Aggiorna Authorizer alla 3.15.2 o successiva.
Verifica dopo l'aggiornamento
CVE-2026-81294-Abraxas-Labs.py contro la build corretta: il witness mappato non deve apparire.Se non puoi aggiornare immediatamente
Target solo http://127.0.0.1:8088 (o il loopback su cui hai fatto il bind). Non puntare questo script verso internet.
python3 CVE-2026-81294-Abraxas-Labs.py
Il successo è il witness sopra nel corpo della risposta. Un generico HTML 200 non lo è.
Stack loopback usato per la riproduzione. Immagini ufficiali a meno che un Dockerfile in questa cartella non venga compilato dai sorgenti.
cd lab
docker compose up --force-recreate
Collega l'albero del prodotto vulnerabile accanto a Compose se lo YAML monta una directory locale (zip del plugin / tag sorgente dalla tabella delle versioni). Non pubblicare nulla tranne 127.0.0.1.
Directory del plugin: authorizer
Browser Trac: plugins.trac.wordpress.org/authorizer
Tag SVN: plugins.svn.wordpress.org/authorizer
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
# CVE-2026-81294 (structured records)
- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-81294`
- CWE: CWE-266
- published: 2026-09-02T12:17:12.783
## NVD description
Unauthenticated Privilege Escalation in Authorizer <= 3.15.1 versions.
## MITRE description
Unauthenticated Privilege Escalation in Authorizer <= 3.15.1 versions.
## Affected
- Paul Ryan Authorizer n/a affected
## References (JSON sources only)
- https://patchstack.com/database/wordpress/plugin/authorizer/vulnerability/wordpress-authorizer-plugin-3-15-1-privilege-escalation-vulnerability?_s_id=cve
- https://github.com/advisories/GHSA-xppg-27gw-vxcj
- https://nvd.nist.gov/vuln/detail/CVE-2026-81294
## GitHub advisory
Unauthenticated Privilege Escalation in Authorizer <= 3.15.1 versions.
Unauthenticated Privilege Escalation in Authorizer <= 3.15.1 versions.
Questo pacchetto di divulgazione è rilasciato sotto la GNU Affero General Public License v3.0. Vedi LICENSE.
Questo pacchetto è destinato al vendor, al proprietario del sito e ai lab autorizzati. Lo script comunica con 127.0.0.1. Usarlo contro sistemi che non possiedi non è autorizzato da Abraxas Labs. Nessuna garanzia.