Patchfirst
CVE-2020-13671 KEVPublic exploit High · 8.8 EPSS 36.2%

Drupal core Un-restricted Upload of File

Drupal · Drupal core

Summary

Drupal core fails to properly sanitize certain uploaded filenames, so files can be interpreted under the wrong extension and served with the wrong MIME type or executed as PHP on some hosting configurations. An attacker with low-privileged authenticated access, and no user interaction required, can upload a crafted file over the network to achieve that misinterpretation or execution.

Official description · NVD

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.

Breakdown
78.9 / 100
Exploited
Yes, in CISA KEV
Reports
0
Tactics
2/15

How an attack unfolds

Based on mappings. Select a step to see the evidence.
  1. How attackers get in

  2. What they do

First seen exploited 5 months after disclosure. Public exploit code (PoC-in-GitHub) appeared 6 years after disclosure.

  1. Disclosedday 0
  2. First seen exploitedVulnCheck KEV evidence+5 mo
  3. Added to CISA KEVEU database agrees+14 mo
  4. Public exploit codePoC-in-GitHub+6 yrs

CISA KEV listing is when exploitation was confirmed, not necessarily the first attack.

techniques

2 , grouped by in kill-chain order, 2 cited passages 2

Initial AccessTA0001

Exploit Public-Facing Application T1190 Medium
AI mapping from the description · how it is exploited

Upload of crafted filenames exploits public-facing app

Drupal core does not properly sanitize certain filenames on uploaded files
From the official description (NVD) Original (opens in a new tab) ↗

ExecutionTA0002

Command and Scripting Interpreter T1059 Medium
AI mapping from the description · primary impact

Uploaded file executed as PHP code

or executed as PHP for certain hosting configurations
From the official description (NVD) Original (opens in a new tab) ↗

Detection

0 rules for this CVE · 244 general rules for its techniques

Rules for this CVE

0 that reference CVE-2020-13671 directly.

CVE-specific rules are not available in this build. Search SigmaHQ ↗

Sigma rules © SigmaHQ, Detection Rule License 1.1; linked, not reproduced.

Am I affected? What do I upgrade to?

From GitHub Security Advisories and OSV

2 packages in 1 ecosystem. Main package: drupal/core.

Upgrade to 9.0.9

Fixes this CVE and 1 other known vulnerability in this package (CVE-2020-28949).

Still affected on this line by CVE-2026-9082 (fixed in 10.4.10, a newer line).

Set the version to 9.0.9 or later in your composer.json.

First fixed in 9.0.8 for CVE-2020-13671.

Affected versions, by release line

If you runUpgrade to
9.0.0 up to 9.0.89.0.9first fix for this CVE: 9.0.8
8.9.0 up to 8.9.9

Still affected on this line by CVE-2026-9082 (fixed in 10.4.10, a newer line).

8.9.17first fix for this CVE: 8.9.9
8.0.0 up to 8.8.11

Still affected on this line by CVE-2021-32610 (fixed in 8.9.17, a newer line).

8.8.12first fix for this CVE: 8.8.11
7.0.0 up to 7.747.74

“Up to” means the second version is the fix and is not affected.

Other packages that bundle this code (1)

Forks, repackagings and products that include the affected code. Each has its own fixed version.

  • Packagistdrupal/drupal
    Affected: 9.0.0 up to 9.0.8; 8.9.0 up to 8.9.9; 8.0.0 up to 8.8.11; 7.0.0 up to 7.74Upgrade to 9.0.8 or later (older lines: 8.9.9, 8.8.11, 7.74)

Check your lockfile against all CVEs

What security researchers reported

Not named in any threat report yet

Also mentioned in 50 community threat pulses (AlienVault OTX)

Weaker evidence

Pulses are indicator collections that anyone can publish. A mention is not confirmation of exploitation.

References

4 links, grouped by NVD tag (3 duplicates merged)
↑ ↓ chooseEnter openEsc close