Skip to main content

Drogon CVE-2026-94143

| EUVDEUVD-2026-83836 MEDIUM
SQL Injection (CWE-89)
2026-09-21 VulDB GHSA-vmhx-frwx-8c9h
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify Drogon app with sortable list endpoint
  2. Exploit
    Submit crafted sort/orderBy parameter
  3. Execution
    Break out of ORDER BY clause with injected SQL
  4. Impact
    Exfiltrate 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

drogon 1.9.6
drogon 1.9.7
drogon 1.9.8
drogon 1.9.11
drogon 1.9.10
drogon 1.9.9
drogon 1.9.13
drogon 1.9.0
drogon 1.9.12
drogon 1.9.1
drogon 1.9.2
drogon 1.9.4
drogon 1.9.3
drogon 1.9.5

Affected Packages

euvd drogon no fix

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

Vendor (VulDB) PRIMARY 5.5 MEDIUM
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
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Sep 21, 2026 - 06:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Sep 21, 2026 - 05:15 cve.org
MEDIUM 6.9

DescriptionCVE.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

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
one of the most popular C++ web frameworks, but C++ web frameworks are a niche production category
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy