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.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Python (PyPI) | sqladmin | < 0.27.1 | 0.27.1 |
Referencias
- 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
- Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N- Debilidad (CWE)
CWE-20, CWE-200, CWE-248, CWE-639- Plataforma
- Python (PyPI)
- Paquete
sqladmin- Publicada
- 09.09.2026
- Actualizado
- 11.10.2026 15:18
Fuentes y licencias
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
Historial de vulnerabilidades: sqladmin
Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 2
- Primera → última
- 05.2026 09.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Media 2
Divulgaciones por año
- 2026: 2
-
SQLAdmin: Unvalidated sortBy parameter in `ModelView` bypasses `column_sortable_list` esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.