Blind SQL Injection in WsgiDAV MySQLBrowserProvider
The WsgiDAV MySQLBrowserProvider sample module is vulnerable to blind SQL injection via unsanitized URL input, allowing unauthenticated attackers to extract database content.
CVE search metadata
CVE search record: CVE-2026-55509. KEV: no. Product: WsgiDAV (<= 4.3.4). Brief: Blind SQL Injection in WsgiDAV MySQLBrowserProvider. Brief link: https://feed.craftedsignal.io/briefs/2026-08-wsgidav-sql-injection/
The WsgiDAV project contains a sample module named MySQLBrowserProvider that is vulnerable to blind SQL injection (CVE-2026-55509). The vulnerability stems from improper input sanitization where the record key provided in a URL request is directly concatenated into a SQL WHERE clause. While the provider is not enabled by default, deployments that explicitly configure it to back a share are exposed.
Because the provider performs an existence check during standard GET requests, an attacker does not require authentication or write access to exploit the flaw. By injecting SQL conditions into the URL path, an attacker can use a boolean status-code oracle - where a successful query result or error returns a 500 status and a non-existent record returns a 404 - to perform bit-by-bit data extraction from the backing database. This allows for the exfiltration of sensitive table data reachable by the database user account configured in the provider.
Attack Chain
- Attacker identifies a WsgiDAV instance exposing a share backed by
MySQLBrowserProvider. - Attacker crafts a malicious URL path formatted as
/db/<table_name>/<injected_sql_key>. - Attacker uses a boolean SQL injection payload, such as
0' OR (SELECT ASCII(MID((QUERY),1,1))>100) OR '1'='2in the key parameter. - The
MySQLBrowserProviderreceives the request and concatenates the injected string directly into theSELECT id FROM table WHERE id = '<injected_key>'query. - The backend database executes the injected SQL.
- The application returns an HTTP 500 if the injected condition is true (due to internal state handling) or an HTTP 404 if false.
- Attacker iteratively automates these requests to exfiltrate arbitrary data from the database.
Impact
Successful exploitation leads to unauthorized access and exfiltration of sensitive information contained within the MySQL database linked to the WsgiDAV share. The scope of impact is limited to the privileges of the database user configured in the provider. As this is an unauthenticated vector on any share using the provider, it represents a high risk for data confidentiality in affected deployments.
Recommendation
Prioritize the remediation of any WsgiDAV instance utilizing the MySQLBrowserProvider.
- Disable the
MySQLBrowserProvidermodule in the WsgiDAV configuration if it is not strictly required. - Upgrade WsgiDAV to a version where this vulnerability is resolved.
- Implement access control lists (ACLs) or web-level authentication for any share using the
MySQLBrowserProviderto prevent unauthenticated access. - Review web access logs for requests to paths matching
/db/*/*containing SQL syntax characters (e.g.,',--,UNION,SELECT).
Immediate actions
Inventory all WsgiDAV instances to identify if MySQLBrowserProvider is enabled
Mitigations
Upgrade WsgiDAV to 4.3.5 or later
CVE-2026-55509
Detection coverage 1
Detect CVE-2026-55509 Exploitation - SQL Injection in WsgiDAV URL Path
highDetects potential blind SQL injection attempts against WsgiDAV by monitoring for SQL metacharacters within URI requests to paths associated with the MySQLBrowserProvider.
Detection queries are available on the platform. Get full rules →