collerek ormar up to 0.22.x on Python sqlalchemy.text sql injection
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.4 | $0-$5k | 0.00 |
Summary
A vulnerability was found in collerek ormar up to 0.22.x on Python. It has been rated as critical. The impacted element is the function sqlalchemy.text. This manipulation causes sql injection.
This vulnerability is handled as CVE-2026-26198. The attack can be initiated remotely. There is not any exploit available.
Upgrading the affected component is advised.
Details
A vulnerability has been found in collerek ormar up to 0.22.x on Python and classified as critical. Affected by this vulnerability is the function sqlalchemy.text. The manipulation with an unknown input leads to a sql injection vulnerability. The CWE definition for the vulnerability is CWE-89. The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
Ormar is a async mini ORM for Python. In versions 0.9.9 through 0.22.0, when performing aggregate queries, Ormar ORM constructs SQL expressions by passing user-supplied column names directly into `sqlalchemy.text()` without any validation or sanitization. The `min()` and `max()` methods in the `QuerySet` class accept arbitrary string input as the column parameter. While `sum()` and `avg()` are partially protected by an `is_numeric` type check that rejects non-existent fields, `min()` and `max()` skip this validation entirely. As a result, an attacker-controlled string is embedded as raw SQL inside the aggregate function call. Any unauthorized user can exploit this vulnerability to read the entire database contents, including tables unrelated to the queried model, by injecting a subquery as the column parameter. Version 0.23.0 contains a patch.
It is possible to read the advisory at github.com. This vulnerability is known as CVE-2026-26198 since 02/11/2026. The exploitation appears to be easy. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details of the vulnerability are known, but there is no available exploit. The attack technique deployed by this issue is T1505 according to MITRE ATT&CK.
The vulnerability scanner Nessus provides a plugin with the ID 299902 (Linux Distros Unpatched Vulnerability : CVE-2026-26198), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 0.23.0 eliminates this vulnerability. The upgrade is hosted for download at github.com. Applying the patch a03bae14fe01358d3eaf7e319fcd5db2e4956b16 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the vulnerability database at Tenable (299902). Be aware that VulDB is the high quality source for vulnerability data.
Product
Vendor
Name
Version
License
Website
- Product: https://github.com/collerek/ormar/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.5VulDB Meta Temp Score: 8.4
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔒
VulDB Reliability: 🔍
CNA Base Score: 9.8
CNA Vector (GitHub_M): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Sql injectionCWE: CWE-89 / CWE-74 / CWE-707
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 299902
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2026-26198
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: ormar 0.23.0
Patch: a03bae14fe01358d3eaf7e319fcd5db2e4956b16
Timeline
02/11/2026 CVE reserved02/24/2026 Advisory disclosed
02/24/2026 VulDB entry created
02/25/2026 VulDB entry last update
Sources
Product: github.comAdvisory: GHSA-xxh2-68g9-8jqr
Status: Confirmed
CVE: CVE-2026-26198 (🔒)
GCVE (CVE): GCVE-0-2026-26198
GCVE (VulDB): GCVE-100-347431
Entry
Created: 02/24/2026 06:49Updated: 02/25/2026 16:49
Changes: 02/24/2026 06:49 (69), 02/25/2026 16:49 (2)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.