Missing authentication on Metasploit credential API endpoints
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-306.
Summary
Metasploit Framework through 6.5.4 exposes its credential store through the Web Service REST API (msf-ws) without requiring authentication on two credential routes. The update and delete handlers for /api/v1/credentials omit the authentication check that every other route in the servlet performs. A remote attacker who can reach the default 0.0.0.0:8080 listener can read, modify, or permanently delete stored credentials, including passwords, hashes, and private keys, without authenticating. This is CWE-306, missing authentication for a critical function.
Written with Claude Haiku 5.5 from the sources below · 2026-10-27
Description from the CNA
The Metasploit Framework Web Service REST API (msf-ws) exposes the credential store through Msf::WebServices::CredentialServlet. Every mutating and read route in this servlet calls warden.authenticate! before processing a request, except the update_credential (PUT) and delete_credentials (DELETE) handlers for /api/v1/credentials, which omit the authentication call entirely. Because these handlers call directly into lib/msf/core/db_manager/cred.rb, which performs no authorization check of its own, any client able to reach the web service on its default 0.0.0.0:8080 listener can read, modify, or permanently delete every stored credential record — including passwords, hashes, and private keys stored for a shared team engagement — without presenting any authentication. All published versions of Metasploit Framework through 6.5.4 are affected. The issue is fixed in 6.5.5 by adding warden.authenticate! as the first statement in both handlers, matching the pattern used by every other route in the API.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Update Metasploit Framework to 6.5.5, which adds the missing authentication check to both credential handlers. CISA's Known Exploited Vulnerabilities catalog does not list this flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-10-27
- Fix · CNA Metasploit Framework (Rapid7) Fixed in 6.5.5
Timeline
- 2026-10-13 Threatist record created from CVE-2026-87689
- 2026-10-13 Alias added: GHSA-4r4h-q2gr-cvcv
- 2026-10-14 CISA SSVC decision points changed
- 2026-10-14 CISA SSVC decision points changed
References
More Rapid7 vulnerabilities
- TI-2023-01233 Rapid7 InsightCloudSec resource.db() method access CVSS 3.1HIGH 8.8
- TI-2023-01231 Rapid7 InsightCloudSec getattr() method access CVSS 3.1HIGH 8.8
- TI-2023-01232 Rapid7 InsightCloudSec box object access CVSS 3.1HIGH 8.1
- TI-2024-00358 Rapid7 Minerva Armor Privilege Escalation CVSS 3.1HIGH 7.8
- TI-2024-02985 Rapid7 Insight Agent Sensitive Key Exposed To Local Users CVSS 3.1MEDIUM 6.8
- TI-2019-04008 Rapid7 Metasploit HTTP Handler Denial of Service CVSS 3.1HIGH 7.5
Sources
- CVE-2026-87689 · CVE Program
- CVE-2026-87689 · NVD
- FIRST EPSS
- GHSA-4r4h-q2gr-cvcv · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences