GHSA-6753-gr46-6wpr: Infoleak
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 metadata or 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/starlette-adminto a version that resolves this vulnerability.Fixed in 0.16.1 - Upgrade
Upgrade
Starlette-Adminto a version that resolves this vulnerability.Fixed in 0.16.1
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated user who has access to affected Starlette-Admin list endpoints can exploit it. No user interaction is required beyond sending crafted API requests.
Are deployments affected if the administrative UI hides or disables certain sortable and searchable fields?
Yes. The UI field configuration does not prevent exploitation because affected backends accept arbitrary sort and search field names supplied directly in API requests.
What can an attacker do with crafted field names?
They can sort or filter records using fields not configured as searchable or sortable. Invalid field names and special Python attribute names, including metadata or __class__, can also trigger HTTP 500 responses for the targeted endpoint.
Which versions need remediation?
All Starlette-Admin versions before 0.16.1 are affected. Upgrade to version 0.16.1 or later.
How can teams identify attempted exploitation?
Review requests to affected list endpoints for sort or search parameters referencing unexpected field names, invalid fields, or special Python attribute names. HTTP 500 responses associated with such requests are an indicator.