SQLAdmin: Unvalidated sortBy parameter in `ModelView` bypasses `column_sortable_list`
Summary
ModelView.sort_query() uses the attacker-controlled sortBy list-view query parameter without checking it against the configured column_sortable_list allow-list. The value is resolved with getattr(model, ...) and fed into relationship joins and order_by(), so a request can sort by any column of the model — including ones hidden from column_list — and, via a dotted path, by columns of related models. Because row order then reflects the value of an unexposed column, this is an information-exposure ordering oracle.
Root cause
column_sortable_list is consulted only in the list template to decide which header links to render; the server never enforces it, so removing a column from the UI does not prevent sorting by it.
Exploitation
A single request leaks the relative ordering of an unexposed column; the asc↔desc reversal confirms rows are ordered by the secret's actual value. Pairing sortBy with searchable/filterable columns and pagination can narrow the oracle toward specific values, though value recovery is conditional on having a filterable target column.
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Python (PyPI) | sqladmin | < 0.27.1 | 0.27.1 |
Odnośniki
- https://github.com/smithyhq/sqladmin/security/advisories/GHSA-ccg5-9c8w-xh6v
- https://github.com/smithyhq/sqladmin
- https://github.com/smithyhq/sqladmin/releases/tag/0.27.1
- https://pypi.org/project/sqladmin
- https://github.com/advisories/GHSA-ccg5-9c8w-xh6v
- https://nvd.nist.gov/vuln/detail/CVE-2026-54529
- Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N- Słabość (CWE)
CWE-20, CWE-200, CWE-248, CWE-639- Platforma
- Python (PyPI)
- Paczka
sqladmin- Ujawniono
- 09.09.2026
- Aktualizacja
- 11.10.2026 15:18
Źródła i licencje
OSV / GitHub Advisory Database - PYSEC-2026-3922 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-ccg5-9c8w-xh6v - CC BY 4.0
Historia podatności: sqladmin
Wszystkie opisane podatności tej paczki (Python (PyPI)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
- Wszystkich wpisów
- 2
- Pierwsza → ostatnia
- 05.2026 09.2026
- Bez poprawki
- 0
- Wykorzystywana w atakach
- 0
Rozkład istotności
- Średnia 2
Ujawnienia w latach
- 2026: 2
-
SQLAdmin: Unvalidated sortBy parameter in `ModelView` bypasses `column_sortable_list` ten wpis
Dowiedz się, które podatności dotyczą Twojej aplikacji
Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.