Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Drogon app with sortable list endpoint
-
ExploitSubmit crafted sort/orderBy parameter
-
ExecutionBreak out of ORDER BY clause with injected SQL
-
ImpactExfiltrate database records via blind/ordering oracle
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a Drogon-based application that passes attacker-controlled input into the sort argument of the ORM Mapper::orderBy API (typically a user-selectable sort column on a list/search endpoint). The library does not sanitize this argument, so any application exposing sort selection to untrusted users is at risk; applications that hardcode sort columns or whitelist them are not exploitable. The limiting factor is this usage pattern - the flaw is not a default-on remote endpoint but a library defect that must be reached through application code. No user interaction is needed once the sort parameter is attacker-reachable, and the referenced vector implies no authentication is required for the exposed endpoint itself. |
| Impact | This is a genuine but moderate-risk library-level SQL injection (CWE-89) in Drogon's ORM Mapper::orderBy. The vendor CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N/VC:L/VI:L/VA:L, score 6.9) treats it as remotely reachable without auth, and E:P confirms a proof-of-concept exists (matching the public gist reference). However, the real risk is conditional: this is an ORM API footgun, not a self-contained network service flaw - it only becomes exploitable when a downstream application passes attacker-controlled input into the orderBy sort argument, which is a per-deployment usage decision, not a default-on network endpoint. That gap means AC:L understates the practical attack complexity; I would rate AC:H because exploitability depends on the host application wiring untrusted input to sort. Conversely, the vendor's impact rating of all-Low is arguably conservative: a classic SQL injection reachable via a listing/sort parameter can enable full data exfiltration (ORDER BY-based / blind injection), so confidentiality could reach High where exploitable. No EPSS score and no KEV listing are provided, so there is no evidence of widespread or active exploitation - the only exploitation signal is public POC code. Net: a real, patch-worthy library defect that Drogon-based applications should treat seriously if they expose sort parameters, but not an emergency mass-exploitation event. |
| Exploit ScenarioDerived | A web application built on Drogon exposes a list/search endpoint that lets clients choose a sort column and passes that value into Mapper::orderBy. An unauthenticated remote attacker supplies a crafted sort value that breaks out of the ORDER BY clause and injects SQL, enabling blind/ORDER BY-based extraction of database contents. Public exploit code is available (gist referenced in the advisory), lowering the barrier to reproduction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
SQL injection in the Drogon C++ web framework's ORM layer (Mapper::orderBy in Mapper.h, versions through 1.9.13) lets a remote, unauthenticated attacker inject arbitrary SQL through the sort argument of a list or search endpoint. The flaw is a library defect rather than a default-on endpoint: it is only reachable when application code forwards attacker-controlled input into orderBy, so applications that hardcode or whitelist sort columns are not exploitable. Publicly available exploit code exists (a public gist referenced by the disclosure), and the vendor did not respond to the report; no CISA KEV entry is associated with this CVE, and the realistic impact is high-confidentiality, limited-integrity data exposure rather than direct code execution.
RemediationAI
No vendor-released patch has been identified at time of analysis, and the vendor did not respond to the disclosure, so remediation must be application-side until a fixed Drogon release appears. The primary action is to stop passing raw user input into Mapper::orderBy: map any client-supplied sort key to a hardcoded, allow-listed column name (and separately validate direction as ASC/DESC only), which fully eliminates the injection, though it requires enumerating valid sort fields per endpoint. Where dynamic ordering is unavoidable, reject any value that does not match a strict identifier pattern (e.g. ^[A-Za-z0-9_]+$) before it reaches the Mapper; the trade-off is that legitimate qualified or aliased column names will be refused. Meanwhile, restrict unauthenticated access to any list/search/reporting endpoint that exposes attacker-controllable sort parameters, and monitor database error logs for anomalous ORDER BY clauses or repeated query failures as an early indicator of injection attempts. Track the upstream repository and the VulDB entry at https://vuldb.com/vuln/408058 (CTI view at https://vuldb.com/vuln/408058/cti) for the eventual fixed version, and note that a public proof-of-concept exploit is available at https://gist.github.com/2H-K/33f46c954fd3ed16b32eeddd598f90cf, so any exposed vulnerable endpoint should be treated as urgently reachable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CWE-89 (SQL Injection) in Drogon's ORM Mapper component. The Mapper::orderBy API in Mapper.h accepts an ORDER BY clause fragment - typically a column name plus direction - and interpolates it into the generated query without sanitizing or parameterizing the value. SQL placeholders cannot bind identifiers or ORDER BY expressions, which is the classic root cause of this variant: developers must instead validate against an allow-list of column names. Because the injected text lands in the ORDER BY position, exploitation usually relies on boolean/error-based inference (ordering by a conditional expression, or injecting a subquery) rather than a straightforward UNION, which raises complexity and caps the typical impact at confidential data disclosure with secondary, limited integrity effects. Drogon is a modern C++17/C++20 asynchronous web framework built on an event loop, and its ORM Mapper is a widely used convenience layer for mapping models to PostgreSQL, MySQL, and SQLite tables; the CPE string cpe:2.3:a:drogonframework:drogon:*:*:*:*:*:*:*:* indicates all released versions including and prior to 1.9.13 are affected, with no fixed version identified in the available data.
Know when Drogon gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
AC:H because exploitation depends on the app routing untrusted input to orderBy; PR:N/AV:N as the vulnerable endpoint is typically network-reachable; C:H reflects SQLi data exfiltration, I:L limited, A:N.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was detected in drogonframework drogon up to 1.9.13. Affected by this issue is the function Mapper::orderBy in the library Mapper.h of the component ORM Mapper. Performing a manipulation of the argument sort results in sql injection. The attack is possible to be carried out remotely. The exploit is now public and may be used. The vendor was contacted early about this disclosure but did not respond in any way.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
This affects the package drogonframework/drogon before 1.7.5. Rated high severity (CVSS 8.8), this vulnerability is remo
A path traversal vulnerability in the static router for Drogon from 1.0.0-beta14 to 1.6.0 could allow an unauthenticated
All versions of the package drogonframework/drogon are vulnerable to HTTP Response Splitting when untrusted user input i
All versions of the package drogonframework/drogon are vulnerable to CRLF Injection when untrusted user input is used to
Path traversal in the Drogon C++ web framework's static file router (StaticFileRouter::route) lets unauthenticated remot
A vulnerability, which was classified as problematic, has been found in drogon up to 1.8.1. Rated medium severity (CVSS
EUVD-2026-83836
GHSA-vmhx-frwx-8c9h
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB