CVE-2025-1025 — cockpit
Fix: Cockpit-HQ/Cockpit@984ef9aCVE-2025-1025 is a Unrestricted File Upload vulnerability in cockpit-hq/cockpit. EPSS puts its 30-day exploitation probability at 18.9% (97th percentile). A fix is available for cockpit-hq/cockpit — see the affected versions and patch details below.
Cockpit Arbitrary File Upload
Exploitation Status
Proof-of-concept exploit code exists
- CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
Exploitation and automatability from CISA’s SSVC triage for CVE-2025-1025.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
cockpit-hq/cockpitReal-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
Versions of the package cockpit-hq/cockpit before 2.4.1 are vulnerable to Arbitrary File Upload where an attacker can use different extension to bypass the upload filter.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | cockpit-hq/cockpit | all versions | 2.4.1composer require cockpit-hq/cockpit:^2.4.1 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for cockpit-hq/cockpit, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update cockpit-hq/cockpit to 2.4.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2025-1025 is resolved across your whole dependency graph.
Workarounds
Treat uploaded files as untrusted until proven otherwise: validate the actual content type rather than the supplied extension, store uploads outside the web root on a volume mounted without execute permission, and rename them to server-generated identifiers so an attacker cannot choose the path a request will later resolve.
How to detect CVE-2025-1025
A community-maintained Nuclei template exists for this CVE. You can scan for it directly:
nuclei -id cve-2025-1025 -u https://target- Template
- Cockpit < 2.4.1 - Arbitrary File Upload
- Severity
- high
- Impact
- Attackers can bypass file upload filters to upload malicious PHP files, leading to remote code execution and complete compromise of the Cockpit CMS installation.
- Remediation
- Upgrade to Cockpit version 2.4.1 or later that properly validates file extensions.
Template by ProjectDiscovery nuclei-templates (iamnoooob, rootxharsh, pdresearch), MIT licensed. View the full template. Scan only systems you are authorised to test.
Frequently Asked Questions
Is CVE-2025-1025 in your dependencies?
Find it across Packagist, including transitive dependencies.