CVE-2026-27953

CRITICAL EPSS 64.1%
Published Mar 19, 20263mo ago · Modified Jun 17, 20261w ago
9.8 CVSS 3.1
Critical
Find Similar
Published Mar 19, 2026 3mo ago
Last Modified Jun 17, 2026 1w ago

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.

CVSS Details

Base Score
9.8
Exploitability
3.9
Impact
5.9
Vector string
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector Network
Attack Complexity Low
Privileges Required None
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High

Threat Intelligence

EPSS Exploit Probability
64.1% percentile
Exploit & Patch Status
Public Exploit Known
Patch Available

Weaknesses 2

CWE-20 Improper Input Validation Validation
CWE-915

Affected Products 1

VendorProductVersionRange
collerekormar* <0.23.1

References 9

  • github.com https://github.com/ormar-orm/ormar/blob/master/examples/fastapi_quick_start.py#L55
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/fields/foreign_key.py#L41
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/helpers/pydantic.py#L108
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/model.py#L89
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/newbasemodel.py#L128
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/newbasemodel.py#L292
    Patch
  • github.com https://github.com/ormar-orm/ormar/commit/7f22aa21a7614b993970345b392dabb0ccde0ab3
    Patch
  • github.com https://github.com/ormar-orm/ormar/releases/tag/0.23.1
    ProductRelease Notes
  • github.com https://github.com/ormar-orm/ormar/security/advisories/GHSA-f964-whrq-44h8
    ExploitMitigationVendor Advisory

Remediation

  • github.com https://github.com/ormar-orm/ormar/blob/master/examples/fastapi_quick_start.py#L55
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/fields/foreign_key.py#L41
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/helpers/pydantic.py#L108
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/model.py#L89
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/newbasemodel.py#L128
    Patch
  • github.com https://github.com/ormar-orm/ormar/blob/master/ormar/models/newbasemodel.py#L292
    Patch
  • github.com https://github.com/ormar-orm/ormar/commit/7f22aa21a7614b993970345b392dabb0ccde0ab3
    Patch