Skip to main content

Drogon EUVDEUVD-2026-83842

| CVE-2026-94144 MEDIUM
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') (CWE-74)
2026-09-21 cna@vuldb.com GHSA-c6jr-7xqv-9vjv
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 exposing filter input
  2. Delivery
    Craft malicious filter argument value
  3. Exploit
    Injected SQL passes through makeCriteria into query
  4. Execution
    Backend database executes attacker SQL
  5. Impact
    Read or modify database records

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
Exploitation Conditions

Exploitation requires a Drogon-based application (versions up to 1.9.13) that passes attacker-controllable input into the ORM Criteria 'filter' argument handled by makeCriteria without parameterization or sanitization. This is a library-level footgun: the framework itself is only exploitable through an application code path that forwards untrusted input into ORM criteria, so applications that use parameterized values or never expose the filter argument to user input are NOT vulnerable. Where such a path exists and is reachable over the network, no authentication or user interaction is needed. Limiting factors: the required unsafe usage pattern is application-specific and non-universal, no official patch exists (vendor unresponsive), and exploitation is over the network against whatever endpoint exposes the filter.

Impact

This is a moderate-risk SQL injection in the Drogon C++ web framework's ORM layer (makeCriteria in Criteria.cc), best characterized as a library footgun rather than a turnkey remote exploit. The vendor CVSS 4.0 vector (5.5) rates AV:N/AC:L/PR:N/UI:N with all impacts Low (VC:L/VI:L/VA:L), and E:P confirms a proof-of-concept exists. Signals conflict: SSVC 'exploitation' is at Proof-of-Concept (POC published on GitHub gist), there is no EPSS score and no CISA KEV listing, so this is 'publicly available exploit code exists' - NOT active exploitation. The AC:L/PR:N framing overstates real-world reachability: the flaw is only exploitable if the consuming application routes untrusted, attacker-controlled input directly into the Criteria filter argument, which is a per-application coding decision, so realistic attack complexity is higher (AC:H) and many deployments are simply not vulnerable. Conversely, the all-Low impact rating likely understates a successful injection: SQLi against an ORM typically yields full database read (VC:H). Net: not an urgent internet-wide priority, but a real defect that matters for any Drogon app that passes user input into ORM filters. Vendor did not respond to disclosure, so no official patch is confirmed at time of analysis.

Exploit ScenarioDerived

A public PoC (GitHub gist by researcher 2H-K) demonstrates the injection. In a Drogon-based application that passes user-supplied input (e.g., a search/filter query parameter) into the ORM Criteria filter argument, a remote attacker submits a crafted filter value that breaks out of the intended predicate and injects arbitrary SQL, reading or tampering with database contents. Exploitation requires no authentication where the vulnerable endpoint is exposed, but only works if the application actually forwards untrusted input into makeCriteria without sanitization.

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 Drogon (drogonframework drogon) up to version 1.9.13 allows remote attackers to manipulate the ORM filter argument in makeCriteria (orm_lib/src/Criteria.cc), potentially reading or altering database contents. Exploitation requires a Drogon-based application that forwards attacker-controllable input into the ORM Criteria filter without parameterization; applications that do not expose this argument to user input are not vulnerable. Publicly available exploit code exists, no vendor patch has been released, and the vendor did not respond to disclosure.

RemediationAI

No vendor-released patch has been identified; the vendor was contacted but did not respond. As a compensating control, avoid passing untrusted input directly to the ORM filter argument in makeCriteria; use allowlist validation or parameterized query constructs if the ORM supports them. If the filter must accept user input, sanitize or escape it before constructing criteria, or refactor the application to use prepared statements. Restricting network access to endpoints that expose the filter parameter can reduce exposure but may break functionality. Monitor the VulDB entry (https://vuldb.com/vuln/408059) and the Drogon repository for future patches. Applying a local patch to sanitize the filter in makeCriteria is possible but requires maintaining a forked version.

Affected VersionsENISA

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

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

Drogon is a C++ web framework with an integrated ORM layer. The vulnerable function makeCriteria in orm_lib/src/Criteria.cc constructs SQL query criteria from a filter argument. Because the filter is not properly neutralized (CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component), an attacker who can control the filter string can inject arbitrary SQL. This is a library-level issue: the framework itself is only exploitable when an application passes untrusted input to the ORM filter. The affected versions are up to 1.9.13; no CPE strings were provided in the input data.

Know when the next one hits your stack

  • 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 into the Criteria filter; PR:N as no auth is inherent; C:H reflects realistic SQLi database read, with modest integrity and no availability impact.

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

DescriptionCVE.org

A flaw has been found in drogonframework drogon up to 1.9.13. This affects the function makeCriteria in the library orm_lib/src/Criteria.cc of the component ORM. Executing a manipulation of the argument filter can lead to sql injection. The attack may be performed from remote. The exploit has been published 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
Drogon is a popular C++ web framework, but a niche category overall
Data Quality
6 sources
Confidence: High

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 No
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· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
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