CVE-2025-6203
High · 7.5HashiCorp Vault Community Edition Denial of Service Though Complex JSON Payloads
CVSS
7.5
EPSS
0.7%
Published
Aug 28, 2025
CISA due date
—
Cloudanix analysis
A crafted request can overload a secrets-management server until it stops responding, blocking applications from getting the credentials they need until the server is recovered or upgraded.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A specially crafted complex request payload that still fits within Vault’s default request size limit can drive excessive memory allocation and CPU use during processing. That resource exhaustion can stall Vault’s auditing subroutine until it times out, after which the Vault process may stop serving API requests and become unresponsive.
Why it matters to the business
Vault is commonly the control plane for secrets, tokens, certificates, and encryption keys, so an unresponsive server can halt application startup, CI/CD, service-to-service authentication, and incident recovery. This issue is a high-availability risk rather than a known mass-exploitation event: it is not in CISA KEV, is not associated with ransomware, has no public exploit, and has a low EPSS (~0.007) with only a small 30-day increase. Organizations that run Vault as a production secrets backend should still treat unpatched clusters as an operational outage risk.
How an attack unfolds
An attacker who is already able to send requests to a vulnerable Vault API submits a complex payload that complies with the default size limit. Vault spends disproportionate CPU and memory handling the request; the auditing path then times out, and the server can stop responding to legitimate clients until it is restarted or otherwise recovered. No public exploit code and no named threat-actor campaigns have been tied to this vulnerability.
How to fix it
Upgrade Vault Community Edition to 1.20.3 or later, or Vault Enterprise to 1.20.3, 1.19.9, 1.18.14, or 1.16.25 (or a later release on the same branch). The upstream fix is in hashicorp/vault commit 818ca8b3575ea937ca48b640baf35e1b2ede1833. Roll the upgrade through all servers, including performance and disaster-recovery replicas, then restart in a controlled sequence so the cluster stays available. Until patched, restrict who can call the Vault API, apply identity and rate-limit policies, and keep listeners off untrusted networks. Do not treat the default request size limit as mitigation—the malicious payload is designed to fit within it.
How to confirm the fix worked
Inventory every Vault node and confirm the running version is Community 1.20.3+ or Enterprise 1.20.3, 1.19.9, 1.18.14, or 1.16.25+ using vault version/status and package or image metadata. Verify standby, performance replica, and DR nodes were upgraded and restarted, and that no leftover unpatched dev or standalone instances remain. After upgrade, exercise normal audit-enabled write paths and confirm audit devices stay healthy and the process remains responsive under expected load.
Typical attack path
- Obtain the ability to send API requests to a vulnerable Vault listener (typically as a permitted user).
- Submit a complex payload that remains within the default request size limit.
- Force Vault to consume excessive CPU and memory while processing the request.
- Cause Vault’s auditing subroutine to time out.
- Leave the Vault server unresponsive so legitimate workloads cannot fetch secrets or complete API calls.
How to detect it
No public exploit or campaign IOCs are published for this issue, so hunt for denial-of-service symptoms rather than a unique payload. Review Vault server logs and audit-device health around API outages for audit-path timeouts, stalled requests, client timeouts, and 5xx responses. Correlate host metrics for the vault process (CPU, RSS/memory, thread or goroutine counts if collected) with failed secret reads and cluster unavailability. Look for nodes that recovered only after a process restart. Historical hunts should focus on unexplained Vault outages; a distinctive network or file IOC is not expected.
What your security team should do
- Inventory all Vault Community and Enterprise clusters and flag any node below Community 1.20.3 or Enterprise 1.20.3 / 1.19.9 / 1.18.14 / 1.16.25.
- Patch production secrets clusters first with a rolling upgrade, because availability of Vault is the primary business risk.
- Until patched, restrict Vault API access to trusted identities and networks and enable rate limiting; do not rely on request-size limits.
- Alert on Vault process CPU/memory spikes, audit-device failures or timeouts, and API unavailability that recovers only after a Vault restart.
- Given no KEV listing, no known exploit, and low EPSS, sequence work by Vault criticality, but do not leave production clusters unpatched.
The record
A malicious user may submit a specially-crafted complex payload that otherwise meets the default request size limit which results in excessive memory and CPU consumption of Vault. This may lead to a timeout in Vault’s auditing subroutine, potentially resulting in the Vault server to become unresponsive. This vulnerability, CVE-2025-6203, is fixed in Vault Community Edition 1.20.3 and Vault Enterprise 1.20.3, 1.19.9, 1.18.14, and 1.16.25.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/hashicorp/vault | 0 | 1.20.3 |
| Bitnami | vault | 1.15.0 | 1.20.3 |
| Chainguard | splunk-otel-collector | 0 | 0.132.0-r2 |
| Chainguard | splunk-otel-collector-compat | 0 | 0.132.0-r2 |
| Chainguard | splunk-otel-collector-doc | 0 | 0.132.0-r2 |
| Chainguard | splunk-otel-collector-fips | 0 | 0.132.0-r1 |
| Chainguard | splunk-otel-collector-migratecheckpoint | 0 | 0.132.0-r2 |
| Chainguard | splunk-otel-collector-migratecheckpoint-compat | 0 | 0.132.0-r2 |
| Chainguard | vault-1.16-compat | 0 | 1.16.3-r26 |
| Chainguard | vault-1.17-compat | 0 | 1.17.6-r18 |
| Chainguard | vault-1.18-compat | 0 | 1.18.5-r15 |
| Chainguard | vault-1.19-compat | 0 | 1.19.5-r5 |
| Chainguard | vault-1.20 | 0 | 1.20.4-r2 |
| Chainguard | vault-fips-1.19-compat | 0 | 1.19.5-r8 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | govulncheck-vulndb | 0 | 0.0.20250918T182144-150000.1.107.1 |
| Wolfi | splunk-otel-collector | 0 | 0.132.0-r2 |
| Wolfi | splunk-otel-collector-compat | 0 | 0.132.0-r2 |
| Wolfi | splunk-otel-collector-doc | 0 | 0.132.0-r2 |
| Wolfi | splunk-otel-collector-migratecheckpoint | 0 | 0.132.0-r2 |
| Wolfi | splunk-otel-collector-migratecheckpoint-compat | 0 | 0.132.0-r2 |
| openSUSE:Leap 15.6 | govulncheck-vulndb | 0 | 0.0.20250918T182144-150000.1.107.1 |
| openSUSE:Tumbleweed | govulncheck-vulndb | 0 | 0.0.20250908T141310-1.1 |
| openSUSE:Tumbleweed | openbao | 0 | 2.4.1-1.1 |
Related vulnerabilities
- CVE-2025-12044 Hashicorp Vault and Vault Enterprise vulnerable to a denial of service when processing… Also affects github.com/hashicorp/vault
- CVE-2025-11621 HashiCorp Vault and Vault Enterprise's AWS Auth method may be susceptible to… Also affects github.com/hashicorp/vault
- CVE-2025-6013 HashiCorp Vault ldap auth method may not have correctly enforced MFA Also affects github.com/hashicorp/vault
- CVE-2025-6037 Hashicorp Vault has Incorrect Validation for Non-CA Certificates Also affects github.com/hashicorp/vault
- CVE-2025-6000 Hashicorp Vault has Code Execution Vulnerability via Plugin Configuration Also affects github.com/hashicorp/vault
- CVE-2025-6011 Hashicorp Vault has an Observable Discrepancy on Existing and Non-Existing Users Also affects github.com/hashicorp/vault
- CVE-2025-5999 Hashicorp Vault has Privilege Escalation Vulnerability Also affects github.com/hashicorp/vault
- CVE-2025-6014 Hashicorp Vault's TOTP Secrets Engine Susceptible to Code Reuse Also affects github.com/hashicorp/vault