Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessControl reverse DNS PTR record
-
DeliveryCraft SQL injection payload in hostname (DNS charset only)
-
ExploitConnect to ProFTPD server
-
ExecutionTrigger reverse DNS lookup
-
PersistInject SQL via unescaped hostname
-
ImpactBypass access controls or extract data
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 | Requires ProFTPD configuration with 'UseReverseDNS on' directive (non-default in many setups) AND active use of mod_wrap2_sql contrib module for SQL-based access control. Attacker must control reverse DNS (PTR) records for their source IP address, requiring either ownership of IP space or compromise of authoritative DNS servers. SQL injection payload construction is constrained by DNS RFC character restrictions: hostnames limited to alphanumeric characters, hyphens, and dots, with length limits (63 chars per label, 253 total). These DNS constraints significantly limit exploitability compared to typical SQL injection-advanced payloads using quotes, semicolons, or UNION operators may require creative encoding within DNS rules. mod_sql.c must be available (though the vulnerable code doesn't verify this before the fix). |
| Impact | CVSS 8.1 (High) indicates network-accessible, unauthenticated exploitation with high impact on confidentiality, integrity, and availability, but AC:H (high complexity) significantly reduces real-world risk. Exploitation requires three concurrent conditions: (1) ProFTPD configured with UseReverseDNS on (non-default in many deployments), (2) mod_wrap2_sql module active for access control, and (3) attacker control over reverse DNS records for their source IP. DNS character restrictions (limited to [a-z0-9.-]) constrain SQL injection payloads - many advanced techniques require quotes, semicolons, or special characters disallowed in DNS. No CISA KEV listing indicates no confirmed active exploitation. No public POC identified in references. The GitHub commit provides a clear remediation path. Risk assessment: Medium-priority for organizations using mod_wrap2_sql with reverse DNS enabled; low-priority for default ProFTPD installations without these specific modules. The attack complexity and narrow configuration requirements make this a targeted threat rather than broad internet-scanning risk, despite the high CVSS score. |
| Exploit ScenarioDerived | An attacker controlling reverse DNS records for their IP address configures a malicious PTR record containing SQL injection payloads constrained to DNS-allowed characters (alphanumeric, hyphens, dots). When connecting to a ProFTPD server with UseReverseDNS enabled and mod_wrap2_sql active, the server performs a reverse lookup, retrieves the attacker's crafted hostname, and passes it unescaped into SQL queries checking access permissions. Successful injection could manipulate access control logic (bypassing IP restrictions), extract database contents (credentials, user lists), or modify access rules. Public POC not identified, but the commit diff clearly shows the injection point in sqltab_fetch_clients_cb(). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 05, 2026
SQL injection in ProFTPD 1.3.9a and earlier allows remote attackers to execute arbitrary SQL commands when the 'UseReverseDNS on' configuration is enabled. The vulnerability exists in mod_wrap2_sql.c where attacker-controlled reverse DNS hostnames are passed unescaped into SQL queries during client access control checks. Exploitation complexity is high due to DNS character restrictions and specific configuration requirements. No active exploitation confirmed (not in CISA KEV), but upstream fix is available via GitHub commit 7666224. EPSS risk data not provided.
RemediationAI
Apply the upstream fix by upgrading to ProFTPD builds incorporating commit 766622456440fbca33abd7927c523673a11d1ed1 or later, which introduces proper SQL escaping via the sql_escapestr hook in mod_wrap2_sql.c (module version updated to 1.1). Source available at https://github.com/proftpd/proftpd/commit/766622456440fbca33abd7927c523673a11d1ed1. No tagged release version incorporating this fix is confirmed at time of analysis; administrators may need to build from source or await vendor-packaged updates. Immediate workaround: disable UseReverseDNS in proftpd.conf (set to 'off'), which eliminates the attack vector but sacrifices hostname-based access controls and may break configurations relying on DNS names in mod_wrap2_sql tables. Alternative mitigation: switch from mod_wrap2_sql to file-based mod_wrap2_file for access control, though this requires reconfiguring access policies and loses SQL-based centralized management. Ensure mod_sql.c is loaded if continuing to use mod_wrap2_sql, as the fix depends on the sql_escapestr symbol.
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
ProFTPD's mod_wrap2_sql module implements TCP Wrappers-style access control using SQL databases. The sqltab_fetch_clients_cb() function performs reverse DNS lookups on connecting client IP addresses to resolve hostnames, then queries an SQL database to check access permissions. The CWE-89 SQL injection vulnerability occurs because the resolved hostname is concatenated directly into SQL queries without sanitization. The fix introduces sqltab_get_escaped_text() which calls mod_sql.c's sql_escapestr hook to properly escape user-controlled data before database operations. This affects installations using both mod_wrap2_sql for access control AND UseReverseDNS enabled, requiring mod_sql.c to be loaded. The attack surface is limited to reverse DNS responses, which are constrained by RFC-compliant DNS character sets (alphanumeric, hyphens, dots), though creative encoding may bypass these restrictions.
Know when Proftpd 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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
In ProFTPD through 1.3.9a before 7666224, a SQL injection vulnerability in sqltab_fetch_clients_cb() in contrib/mod_wrap2_sql.c allows a remote attacker to inject arbitrary SQL commands via a crafted domain name that is accessed in a reverse DNS lookup. When "UseReverseDNS on" is enabled, the attacker-supplied hostname is passed unescaped into SQL queries. The character restrictions of DNS names may affect exploitability.
Executive ViewAI
ProFTPD versions 1.3.9a and earlier contain a high-severity SQL injection vulnerability in the reverse DNS lookup module that allows remote attackers to execute arbitrary SQL commands when specific DNS-based access control is enabled. Organizations running affected ProFTPD instances with UseReverseDNS configuration enabled face potential unauthorized data access or modification of FTP access control systems; immediate inventory and configuration review is required to assess exposure.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable 'UseReverseDNS on' configuration immediately if enabled; (2) Restrict network access to FTP ports via firewall rules to trusted client networks only; (3) Monitor FTP logs for suspicious SQL-like patterns in connection attempts; (4) Consider applying upstream GitHub commit 7666224 if your organization maintains custom builds; (5) Evaluate migration to actively-maintained FTP server alternatives.
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.
The mod_copy module in ProFTPD 1.3.5 allows remote attackers to read and write to arbitrary files via the site cpfr and
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
An arbitrary file copy vulnerability in mod_copy in ProFTPD up to 1.3.5b allows for remote code execution and informatio
SQL injection escalating to remote code execution in ProFTPD's mod_sql before 1.3.10rc1 lets remote attackers inject SQL
make_ftp_cmd in main.c in ProFTPD before 1.3.8a has a one-byte out-of-bounds read, and daemon crash, because of mishandl
ProFTPD before 1.3.6b and 1.3.7rc before 1.3.7rc2 allows remote unauthenticated denial-of-service due to incorrect handl
Integer overflow in kbdint.c in mod_sftp in ProFTPD 1.3.4d and 1.3.5r3 allows remote attackers to cause a denial of serv
In ProFTPD 1.3.7, it is possible to corrupt the memory pool by interrupting the data transfer channel. Rated high severi
Arbitrary code execution in ProFTPD's mod_sftp module (versions before 1.3.9c and 1.3.10rc3) allows authenticated low-pr
Directory ACL bypass in ProFTPD (through 1.3.9b and 1.3.10rc2) lets authenticated FTP users reach files inside DenyAll-p
Authenticated remote denial of service in ProFTPD's mod_sftp module allows any user with valid SFTP credentials to crash
The mod_tls module in ProFTPD before 1.3.5b and 1.3.6 before 1.3.6rc2 does not properly handle the TLSDHParamFile direct
Same weakness CWE-89 – SQL Injection
View allVendor StatusVendor
SUSE
Severity: High| Product | Status |
|---|---|
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Fixed |
| openSUSE Leap 15.6 | Fixed |
EUVD-2026-27484
GHSA-jmg2-v72j-gmvc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB