CVE-2020-13671: Drupal core Un-restricted Upload of File
Drupal · Drupal core · NVD published 2020-11-20 · posted 2022-01-18 · last modified 2026-06-17
CVE-2020-13671 at a glance
CVE-2020-13671 is a high-severity File Upload vulnerability in Drupal core, with a CVSS 3.1 base score of 8.8. NVD published it on 2020-11-20 and classifies the weakness as CWE-434. CISA added it to the Known Exploited Vulnerabilities catalog on 2022-01-18; the federal remediation due date is 2022-07-18. Public exploit code: 4 public GitHub proof-of-concept repositories from 3 accounts, with the earliest exploit evidence dated 2022-01-18. FIRST EPSS puts the probability of exploitation activity in the next 30 days at 36.17% (percentile 98.4, scored 2026-11-10). NVD configuration data lists a fixed release for 4 products, for example drupal drupal 7.74. CVERadar maps 2 MITRE ATT&CK techniques across Initial Access and Persistence, inferred from the CWE and the description. Its CVERadar threat level is 70/100.
What it is
Drupal core does not properly sanitize certain filenames on uploaded files, which can lead to files being interpreted as the incorrect extension and served as the wrong MIME type or executed as PHP for certain hosting configurations. This issue affects: Drupal Drupal Core 9.0 versions prior to 9.0.8, 8.9 versions prior to 8.9.9, 8.8 versions prior to 8.8.11, and 7 versions prior to 7.74.
| Weakness | CWE-434 definition |
|---|---|
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (source: NIST NVD) |
| CISA due date | 2022-07-18 (for US federal agencies under BOD; a good deadline for everyone) |
| ATT&CK tactics | Initial Access → Persistence |
What this means for a small business
CISA added CVE-2020-13671 to its Known Exploited Vulnerabilities catalog on 2022-01-18. A KEV listing means CISA has evidence that attackers are using the flaw against real systems, not just that it could be used.
If your business runs Drupal core, put this at the top of the patch list. CISA gave US federal agencies until 2022-07-18 to deal with it, and that is a sensible deadline for a small business too.
- Patch. Update to a fixed release: drupal drupal 7.74 or later; drupal drupal 8.8.11 or later; drupal drupal 8.9.9 or later. These versions come from NVD's configuration data, so confirm them against the advisory from Drupal.
- If you cannot patch yet. Follow CISA's required action: Apply updates per vendor instructions.
- Check your exposure. Find out whether Drupal core can be reached from the internet, for example a VPN portal, an admin login page or a file-transfer site. Your firewall's port-forwarding rules and your IT provider's list of public-facing systems are the quickest places to look. Exposed copies come first.
- When to call IT support. Call your IT support provider now if you run Drupal core and cannot confirm it is updated, if it was reachable from the internet before you patched it, or if you notice accounts, sign-ins or files you do not recognise. The last two can mean the system was already hit, and checking that properly takes someone who can read the logs.
Exposed systems like Drupal core are the first ones attackers find; LayerLogix attack surface management tracks what you have online.
Built from the CISA KEV entry and the NVD record for CVE-2020-13671; nothing here goes beyond those sources.
Exploitation evidence
First exploit evidence seen: 2022-01-18 (earliest date across the sources below).
Exploited in the wild
- CISA KEV: listed since 2022-01-18. CISA KEV listing
Public exploit code
GitHub proof-of-concept repositories
4 public repositories from 3 accounts, first seen 2026-08-22. Most starred: d4ytox/CVE-2020-13671 (1 stars), view the d4ytox/CVE-2020-13671 repository on GitHub.
Verify before running: public PoCs can be malicious. Read the code and only run it in an isolated lab. A PoC means exploit code is public, not that this CVE is exploited in the wild.
Sources: CISA KEV · nomi-sec/PoC-in-GitHub.
Defend the Chain
The attack chain for CVE-2020-13671 laid across the MITRE ATT&CK Enterprise tactics. Solid cards come from the MITRE CTID KEV mappings; dashed cards are inferred by CVERadar from the CWE or description. Correct defences are real ATT&CK mitigations for that technique.
Pick a red technique card on the board, then choose the defence that stops it.
Defend against T1190 Exploit Public-Facing Application Inferred
Inferred from CWE CWE-434
Patches, mitigations and detection
CISA required action
Apply updates per vendor instructions. (source: CISA KEV)
Fixed versions
- drupal drupal: upgrade to 7.74 or later (affected from 7.0)
- drupal drupal: upgrade to 8.8.11 or later (affected from 8.8.0)
- drupal drupal: upgrade to 8.9.9 or later (affected from 8.9.0)
- drupal drupal: upgrade to 9.0.8 or later (affected from 9.0.0)
Derived from the NVD CPE configuration (versionEndExcluding / versionEndIncluding). Always confirm with the vendor advisory.
Vendor advisories and patches
- Mailing list release notes (lists.fedoraproject.org) (Mailing List, Release Notes)
- Mailing list release notes (lists.fedoraproject.org) (Mailing List, Release Notes)
- Vendor advisory (drupal.org) (Vendor Advisory)
MITRE ATT&CK mitigations for this chain
- M1048 Application Isolation and Sandboxing (for T1190) : Application isolation will limit what other processes and system features the exploited target can access.
- M1037 Filter Network Traffic (for T1190) : Restrict outbound network traffic from public-facing servers to prevent unauthorized connections from initiating communications with attacker-controlled infrastructure. While this may not prevent the initial exploitation, it limits the attacker's ability to verify and control the compromised server post-exploit, reduci
- M1030 Network Segmentation (for T1190) : Segment externally facing servers and services from the rest of the network with a DMZ or on separate hosting infrastructure.
- M1016 Vulnerability Scanning (for T1190) : Regularly scan externally facing systems for vulnerabilities and establish procedures to rapidly patch systems when critical vulnerabilities are discovered through scanning and through public disclosure.
- M1026 Privileged Account Management (for T1190) : Use least privilege for service accounts will limit what permissions the exploited process gets on the rest of the system.
- M1050 Exploit Protection (for T1190) : Web Application Firewalls may be used to limit exposure of applications to prevent exploit traffic from reaching the application.
- M1035 Limit Access to Resource Over Network (for T1190) : Ensure that all publicly exposed services are actually intended to be so, and restrict access to any that should only be available internally.
- M1051 Update Software (for T1190) : Update software regularly by employing patch management for externally exposed applications.
- M1042 Disable or Remove Feature or Program (for T1505.003) : Consider disabling functions from web technologies such as PHP’s `evaI()` that may be abused for web shells.
- M1018 User Account Management (for T1505.003) : Enforce the principle of least privilege by limiting privileges of user accounts so only authorized accounts can modify the web directory.
Detection Generic guidance
- Initial Access: Alert on unusual requests to the affected service (odd paths, oversized payloads, exploit strings) in WAF, reverse-proxy and application logs.
- Persistence: Look for new files in web roots, new scheduled tasks/services, and new accounts created after the exposure window.
Response checklist Generic guidance
- Inventory: find every instance of the affected product and version (include internet-facing and forgotten ones).
- Patch or mitigate per the vendor advisory; if you cannot patch, remove internet exposure or apply the vendor workaround.
- Assume compromise if the system was exposed before patching: hunt for the indicators in the advisory and review logs back to the disclosure date.
- Rotate credentials and secrets stored on or used by the affected system if compromise cannot be ruled out.
Sources
- NVD: CVE-2020-13671
- CVE.org record for CVE-2020-13671
- CISA Known Exploited Vulnerabilities catalog
- FIRST EPSS score for CVE-2020-13671 (2026-11-10)
- CISA government advisory (cisa.gov) cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-13671