vrana/adminer vulnerable to SSRF by connecting to privileged portsGHSA-43f8-p5w3-5m25
Fix: vrana/adminer@35bfaa7GHSA-43f8-p5w3-5m25 is a Server-Side Request Forgery (SSRF) vulnerability in vrana/adminer. 1 public exploit reference exists, so weaponization risk is real. A fix is available for vrana/adminer — see the affected versions and patch details below.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
vrana/adminerReal-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
Impact
All users are affected.
Patches
- Unsuccessfully patched by 0fae40fb, included in version 4.4.0.
- Patched by 35bfaa75, included in version 4.7.8.
Workarounds
Protect access to Adminer also by other means, e.g. by HTTP password, IP address limiting or by OTP plugin.
References
- http://hyp3rlinx.altervista.org/advisories/ADMINER-UNAUTHENTICATED-SERVER-SIDE-REQUEST-FORGERY.txt
- https://sourceforge.net/p/adminer/bugs-and-features/769/
- https://gusralph.info/adminer-ssrf-bypass-cve-2018-7667/ (CVE-2020-28654)
For more information
If you have any questions or comments about this advisory:
- Comment at 35bfaa75.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | vrana/adminer | all versions | 4.7.8composer require vrana/adminer:^4.7.8 |
Affected Products
admineradminerResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for vrana/adminer, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update vrana/adminer to 4.7.8 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-43f8-p5w3-5m25 is resolved across your whole dependency graph.
Workarounds
Restrict outbound requests from the affected component to an allowlist of hosts, block access to link-local and internal address ranges at the network layer, and require authentication on internal services so a forged request cannot reach them unauthenticated.
Frequently Asked Questions
Is GHSA-43f8-p5w3-5m25 in your dependencies?
Find it across Packagist, including transitive dependencies.