Description
Piccolo Admin is an admin interface and content management system for Python, built on top of Piccolo. Prior to 1.14.0, piccolo_admin/endpoints.py uses superuser_validators to block PUT, PATCH, DELETE, and POST requests by non-superusers but permits GET requests to configured user and session tables, while piccolo_api/session_auth/tables.py exposes SessionsBase.token because the token column is not secret. In deployments that add the Sessions and User tables to create_admin, a non-superuser administrator can call GET /api/tables/sessions/, obtain another user's live session token, replay it as the Cookie id value to impersonate a superuser, and permanently set superuser to true on the attacker's own row. This issue is fixed in version 1.14.0.
References7
- github.com/piccolo-orm/piccolo_admin/commit/96ddae12baf12288056…
- github.com/piccolo-orm/piccolo_admin/releases/tag/1.14.0
- github.com/piccolo-orm/piccolo_admin/security/advisories/GHSA-2…
- github.com/piccolo-orm/piccolo_api/commit/520ec2567ae1d2cc417c8…
- github.com/piccolo-orm/piccolo_api/pull/331
- github.com/piccolo-orm/piccolo_api/releases/tag/1.10.0
- github.com/piccolo-orm/piccolo_admin/security/advisories/GHSA-2…
Metrics
- CVSS 3.1
-
8.8
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - EPSS — exploit probability
- 1% percentile: 47 · as of 8 November 2026
- CWE
- CWE-200CWE-269CWE-863
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.