Read the docs
TI-2026-71489 Aliases CVE-2026-87689GHSA-4r4h-q2gr-cvcv

Missing authentication on Metasploit credential API endpoints

Priority MEDIUM 49CWE-306Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00367 30th percentileScored 2026-11-07
Fix Fixed Metasploit Framework (Rapid7): 6.5.5

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

VendorProductAffected versionsFixed inStatusSource
Rapid7Metasploit Frameworkup to 6.5.46.5.5Patch availableCNA
  • Metasploit Framework VendorRapid7 Affected up to 6.5.4 Fixed in 6.5.5 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:rapid7:metasploit:*:*:*:*:*:*:*:*——Rapid7
  • cpe:2.3:a:rapid7:metasploit:*:*:*:*:*:*:*:* Versions — — ·Rapid7

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

  1. 2026-10-13 Threatist record created from CVE-2026-87689
  2. 2026-10-13 Alias added: GHSA-4r4h-q2gr-cvcv
  3. 2026-10-14 CISA SSVC decision points changed
  4. 2026-10-14 CISA SSVC decision points changed

References

  • 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
See all 139 →

Sources