CVE-2016-3167 — core
HIGHCVE-2016-3167 is a high-severity (CVSS 7.4) vulnerability in drupal/core. A fix is available for drupal/core — see the affected versions and patch details below.
Drupal Open redirect vulnerability in the drupal_goto function
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
drupal/core🐘drupal/drupalReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
Description
Open redirect vulnerability in the drupal_goto function in Drupal 6.x before 6.38, when used with PHP before 5.4.7, allows remote attackers to redirect users to arbitrary web sites and conduct phishing attacks via a double-encoded URL in the "destination" parameter.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | drupal/core | ≥ 6.0&&< 6.38 | 6.38composer require drupal/core:^6.38 |
| 🐘Packagist | drupal/drupal | ≥ 6.0&&< 6.38 | 6.38composer require drupal/drupal:^6.38 |
Affected Products
debian linuxdebiandrupaldrupalDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for drupal/core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update drupal/core to 6.38 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2016-3167 is resolved across your whole dependency graph.
Workarounds
Stop reflecting attacker-controlled destinations: resolve every redirect target against an allowlist of paths or hosts you own, prefer a server-side key over a full URL in the request, and reject absolute URLs entirely where the flow only ever needs a relative one.
Frequently Asked Questions
Is CVE-2016-3167 in your dependencies?
Find it across Packagist, including transitive dependencies.