CVE-2026-54553: Starlette-Admin: Unvalidated `order_by` parameter allows ordering by hidden columns (info-exposure oracle) and HTTP 500 DoS

Published Aug 26, 2026
·
Updated

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.

Other sources

Starlette-Admin is a fast, beautiful and extensible administrative interface framework for FastAPI and Starlette applications. Prior to 0.16.1, the list API does not validate user-supplied orderby and structured where field names against the configured sortablefields and searchablefields allowlists. An authenticated user with access to an affected list endpoint can submit arbitrary field names to starletteadmin/base.py and the BaseModelView validation path, bypassing restrictions presented by the administrative user interface. Requests can sort or filter on fields that are not intended to be sortable or searchable, causing limited information exposure. Invalid field names and special Python attribute names such as metadata and the class dunder attribute can also trigger unhandled exceptions and HTTP 500 responses, causing limited denial of service for targeted requests. This issue is fixed in version 0.16.1.

MITRE

Affected Software

2 affected componentsFixes available
Starlette-Admin<0.16.1
pip/starlette-admin<=0.16.0
0.16.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/starlette-admin to a version that resolves this vulnerability.

    Fixed in 0.16.1
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 0.16.1

Event History

Aug 26, 2026
CVE Published
via MITRE·02:13 PM
Data Sourced
via MITRE·02:13 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·02:14 PM
Data Sourced
via GitHub·02:14 PM
DescriptionSeverityWeaknessAffected Software
Data Sourced
via NVD·03:16 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

An authenticated user who can access an affected Starlette-Admin list endpoint can exploit it. The issue applies to versions earlier than 0.16.1.

2

What requests indicate attempted exploitation or exposure?

Look for list-endpoint requests with crafted sort or search parameters that name fields not configured as searchable or sortable. Requests using invalid field names or Python attribute names such as metadata or __class__ may produce HTTP 500 responses.

3

What is the practical impact of manipulating these parameters?

A user can sort or filter records using hidden or otherwise disallowed fields, creating an information-exposure oracle through query behavior. They can also trigger HTTP 500 failures for the targeted endpoint, causing limited denial of service.

4

Is the administrative UI restriction sufficient protection?

No. Although the UI limits fields according to configuration, affected backend API endpoints accept arbitrary field names supplied in requests.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203