← Vulnerability feed

Vulnerability record · CVE-2014-3704 · published 16 October 2014

CVE-2014-3704: Drupal core database API SQL injection via crafted array keys

DDrupal · Drupal

The expandArguments function in Drupal core's database abstraction API fails to properly construct prepared statements, allowing SQL injection through an array containing crafted keys. This is the pre-authentication flaw known as Drupalgeddon, affecting Drupal 7.x before 7.32. Because it is reachable without credentials and trivially exploitable, it is one of the most consequential Drupal issues on record.

7.5 CVSS 2.0 High EPSS 100% · top 0.1% CWE-89 · SQL injection
7.5CVSS 2.0 base score
100%EPSS exploitation probability, 30 days
NoNot in CISA KEV
2Affected product versions listed by NVD
34References, 22 tagged exploit
17 Jun 2026Last modified by NVD

Description

The expandArguments function in the database abstraction API in Drupal core 7.x before 7.32 does not properly construct prepared statements, which allows remote attackers to conduct SQL injection attacks via an array containing crafted keys.

AV:N/AC:L/Au:N/C:P/I:P/A:P

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 17 September 2026. Confidence: high.

critical priorityUnauthenticated remote SQL injection in a widely deployed CMS with public exploit code and an EPSS probability near 1.0 makes this an urgent patch-or-be-compromised issue.

What it is

The expandArguments function in Drupal core's database abstraction API fails to properly construct prepared statements, allowing SQL injection through an array containing crafted keys. This is the pre-authentication flaw known as Drupalgeddon, affecting Drupal 7.x before 7.32. Because it is reachable without credentials and trivially exploitable, it is one of the most consequential Drupal issues on record.

Impact

A remote attacker can inject arbitrary SQL, potentially reading or modifying any data in the Drupal database, including user credentials and session data. In practice this can lead to full site takeover and, depending on database privileges, further compromise of the host.

Attack surface

Reachable over the network through HTTP requests that pass attacker-controlled array keys into the database abstraction layer; the CVSS vector AV:N/AC:L/Au:N indicates no authentication and no user interaction are required.

Exploitation

Public exploit code is available from multiple sources (Exploit-DB, Packet Storm, Full Disclosure, and the SektionEins advisory), and EPSS is near 1.0 (0.99974, 99.978th percentile), indicating very high likelihood of exploitation. It is not listed in CISA KEV.

What to do

  • Upgrade Drupal core to 7.32 or later immediately; this is the only complete fix.
  • If immediate upgrade is impossible, apply the vendor patch from SA-CORE-2014-005 or the documented temporary mitigation (e.g., the Drupal 7.32 hotfix / SQLi protection patch) and treat it as short-term only.
  • For Debian-packaged Drupal, apply DSA-3051.
  • Restrict database account privileges used by Drupal to the minimum required, limiting the blast radius of any injection.
  • After patching, review logs and database contents for signs of prior compromise and rotate credentials and secrets if tampering is suspected.

Detection

  • Inspect web and WAF logs for requests with array-style parameter keys (e.g., name[0 ...]) or unusual nested parameter names targeting Drupal endpoints.
  • Search for SQL syntax fragments, UNION, or comment sequences in query strings and POST bodies reaching Drupal.
  • Monitor database logs for anomalous queries or errors originating from the web application user.
  • Check for unexpected administrative users, changed content, or new files in the Drupal installation as post-exploitation indicators.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

2 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://osvdb.org/show/osvdb/113371 Broken Link
http://packetstormsecurity.com/files/128720/Drupal-7.X-SQL-Injection.html ExploitThird Party AdvisoryVDB Entry
http://packetstormsecurity.com/files/128721/Drupal-7.31-SQL-Injection.html ExploitThird Party AdvisoryVDB Entry
http://packetstormsecurity.com/files/128741/Drupal-HTTP-Parameter-Key-Value-SQL-Injection.html ExploitThird Party AdvisoryVDB Entry
http://seclists.org/fulldisclosure/2014/Oct/75 ExploitMailing ListPatchThird Party Advisory
http://secunia.com/advisories/59972 Third Party Advisory
http://www.debian.org/security/2014/dsa-3051 Third Party Advisory
http://www.exploit-db.com/exploits/34984 ExploitThird Party AdvisoryVDB Entry
http://www.exploit-db.com/exploits/34992 ExploitThird Party AdvisoryVDB Entry
http://www.exploit-db.com/exploits/34993 ExploitThird Party AdvisoryVDB Entry
http://www.exploit-db.com/exploits/35150 ExploitThird Party AdvisoryVDB Entry
http://www.openwall.com/lists/oss-security/2014/10/15/23 ExploitMailing ListPatch
http://www.securityfocus.com/archive/1/533706/100/0/threaded Third Party AdvisoryVDB Entry
http://www.securityfocus.com/bid/70595 Third Party AdvisoryVDB Entry
https://www.drupal.org/SA-CORE-2014-005 PatchVendor Advisory
https://www.sektioneins.de/en/advisories/advisory-012014-drupal-pre-auth-sql-injection-vulnerability.html ExploitPatchThird Party Advisory
https://www.sektioneins.de/en/blog/14-11-03-drupal-sql-injection-vulnerability-PoC.html ExploitThird Party Advisory
http://osvdb.org/show/osvdb/113371 Broken Link
http://packetstormsecurity.com/files/128720/Drupal-7.X-SQL-Injection.html ExploitThird Party AdvisoryVDB Entry
http://packetstormsecurity.com/files/128721/Drupal-7.31-SQL-Injection.html ExploitThird Party AdvisoryVDB Entry
http://packetstormsecurity.com/files/128741/Drupal-HTTP-Parameter-Key-Value-SQL-Injection.html ExploitThird Party AdvisoryVDB Entry
http://seclists.org/fulldisclosure/2014/Oct/75 ExploitMailing ListPatchThird Party Advisory
http://secunia.com/advisories/59972 Third Party Advisory
http://www.debian.org/security/2014/dsa-3051 Third Party Advisory
http://www.exploit-db.com/exploits/34984 ExploitThird Party AdvisoryVDB Entry
http://www.exploit-db.com/exploits/34992 ExploitThird Party AdvisoryVDB Entry
http://www.exploit-db.com/exploits/34993 ExploitThird Party AdvisoryVDB Entry
http://www.exploit-db.com/exploits/35150 ExploitThird Party AdvisoryVDB Entry
http://www.openwall.com/lists/oss-security/2014/10/15/23 ExploitMailing ListPatch
http://www.securityfocus.com/archive/1/533706/100/0/threaded Third Party AdvisoryVDB Entry
http://www.securityfocus.com/bid/70595 Third Party AdvisoryVDB Entry
https://www.drupal.org/SA-CORE-2014-005 PatchVendor Advisory
https://www.sektioneins.de/en/advisories/advisory-012014-drupal-pre-auth-sql-injection-vulnerability.html ExploitPatchThird Party Advisory
https://www.sektioneins.de/en/blog/14-11-03-drupal-sql-injection-vulnerability-PoC.html ExploitThird Party Advisory

Track CVE-2014-3704 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-9082Drupal core SQL injection in unauthenticated request pathDrupal core contains a SQL injection flaw (CWE-89) caused by improper neutralization of special elements in SQL commands. It affects multiple core br…KEVEPSS 16%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed

Source: NIST National Vulnerability Database (record CVE-2014-3704), CISA KEV, FIRST EPSS (scores of 2026-09-16). This page is refreshed as NVD updates the record.