Skip to content
OpenAdvisories
High · 7.1 CVE-2026-27953 EUVD-2026-13198GHSA-f964-whrq-44h8PYSEC-2026-2247

ormar has a Pydantic Validation Bypass via Kwargs Injection in Model Constructor

Published Mar 19, 2026 · Updated Mar 20, 2026 · Assigned by GitHub_M

Description

ormar is a async mini ORM for Python. Versions 0.23.0 and below are vulnerable to Pydantic validation bypass through the model constructor, allowing any unauthenticated user to skip all field validation by injecting "__pk_only__": true into a JSON request body. By injecting "__pk_only__": true into a JSON request body, an unauthenticated attacker can skip all field validation and persist unvalidated data directly to the database. A secondary __excluded__ parameter injection uses the same pattern to selectively nullify arbitrary model fields (e.g., email or role) during construction. This affects ormar's canonical FastAPI integration pattern recommended in its official documentation, enabling privilege escalation, data integrity violations, and business logic bypass in any application using ormar.Model directly as a request body parameter. This issue has been fixed in version 0.23.1.

Affected products

VendorProductAffectedFixed
ormar-orm ormar < 0.23.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 ormar 0.23.1-1 —
Debian 12 ormar No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 ormar No fix yet —
Ubuntu 26.04 LTS ormar No fix yet —
Ubuntu 25.10 ormar No fix yet —
Ubuntu 24.04 LTS ormar No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI ormar < 0.23.1 0.23.1 GHSA-f964-whrq-44h8

References