CVE-2026-46645 SQLAdmin: Authorization Bypass on `ajax_lookup`

Medium 4.3 Published Updated

Authenticated users can bypass access restrictions to read model data via the ajax_lookup endpoint in SQLAdmin.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-46645?

CVE-2026-46645 is a medium-severity missing authorization vulnerability in smithyhq sqladmin, published on 10 Jun 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

SQLAdmin is a flexible Admin interface for SQLAlchemy models. Prior to version 0.25.1, the ajax_lookup endpoint in application.py bypasses the is_accessible() access control check that all other endpoints enforce. If a developer restricts model access by overriding is_accessible(), an authenticated user can still query that model's data through the ajax_lookup endpoint — silently bypassing the restriction. This issue has been patched in version 0.25.1.

Weakness: CWE-862

Which versions are affected by CVE-2026-46645?

3 open source packages ship an affected version, including sqladmin.

PackageAffectedFixed in
sqladmin PyPIAll versions0.25.1
sqladmin PyPIAll versions0.25.1
sqladmin PyPIAll versions0.25.1

How do I fix CVE-2026-46645?

Upgrade sqladmin to 0.25.1 or later.

Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.

Is CVE-2026-46645 being exploited?

There is no known exploitation of CVE-2026-46645 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as GHSA-54mc-gghv-4cfj, PYSEC-2026-3073.

Is CVE-2026-46645 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free