Summary
Starlette-Admin's unvalidated `order_by` parameter allows ordering by hidden columns (info-exposure oracle) and HTTP 500 DoS
Advisory details
Summary
Affected versions of Starlette-Admin prior to 0.16.1 do not properly validate user-supplied sort and search parameters against the configured field allowlists. While the administrative UI restricts available fields based on field configuration, the backend accepts arbitrary field names supplied through API requests.
An authenticated user can submit crafted requests to sort or filter records using fields that are not intended to be searchable or sortable. Additionally, supplying invalid field names or special Python attribute names can trigger unhandled exceptions that result in HTTP 500 responses.
Impact
An authenticated user with access to affected list endpoints may:
- Bypass intended UI restrictions and perform sorting or filtering on fields that are not configured as searchable or sortable.
- Cause affected API requests to fail with HTTP 500 responses by supplying invalid field names or special Python attribute names such as
metadataor__class__.
This vulnerability may result in unauthorized use of query functionality and limited denial-of-service conditions affecting the targeted endpoint.
Affected Versions
All versions before 0.16.1.
Patched Versions
- 0.16.1
Workarounds
There are no known workarounds. Users should upgrade to version 0.16.1 or later.
References
- https://github.com/advisories/GHSA-6753-gr46-6wpr
- https://github.com/jowilf/starlette-admin/security/advisories/GHSA-6753-gr46-6wpr
- https://github.com/jowilf/starlette-admin/pull/776
- https://github.com/jowilf/starlette-admin/commit/af05b45cd90944b726949fd650ab9d19f1abafc3
- https://github.com/jowilf/starlette-admin/commit/d2a25ebbaf213d4c2cfc87187e34309ca6e30a51
- https://github.com/jowilf/starlette-admin/releases/tag/0.16.1
Related vulnerabilities
All Supply chain →- MEDIUMCVE-2026-54529
SQLAdmin: Unvalidated sortBy parameter in `ModelView` bypasses `column_sortable_list`
- MEDIUMCVE-2026-91980
Vikunja: Any user can enumerate every team and its members by attaching arbitrary teams to a throwaway project
- HIGHCVE-2026-91985
Vikunja: Read-only project members can obtain any link share's access hash via the single-share read endpoint (v1 and v2) and escalate to the share's permission level
- HIGHCVE-2026-105847
Payload: Polymorphic join queries could disclose hidden fields
- HIGHCVE-2026-76089
Formie: Missing authorization on sent notification resend modal exposes submission PII
- HIGHCVE-2026-84994
Qwik: Crashing any Qwik Server via Resource thenable