---
id: CVE-2025-59043
aliases:
  - GHSA-g46h-2rq9-gw5m
  - BIT-openbao-2025-59043
  - GO-2025-4039
title: >-
  OpenBao has potential Denial of Service vulnerability when processing
  malicious unauthenticated JSON requests
summary: >-
  OpenBao has potential Denial of Service vulnerability when processing
  malicious unauthenticated JSON requests
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
vendor: openbao
product: github.com/openbao/openbao
ecosystem: go
affected:
  - github.com/openbao/openbao < 2.4.1
patched:
  - github.com/openbao/openbao 2.4.1
published: '2025-10-17'
updated: '2026-07-27'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-g46h-2rq9-gw5m'
references:
  - url: 'https://github.com/openbao/openbao/security/advisories/GHSA-g46h-2rq9-gw5m'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2025-59043'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2025-6203'
  - url: 'https://github.com/openbao/openbao/pull/1756'
  - url: >-
      https://github.com/openbao/openbao/commit/d418f238bc99adc72c73109faf574cc2b672880c
  - url: >-
      https://discuss.hashicorp.com/t/hcsec-2025-24-vault-denial-of-service-though-complex-json-payloads/76393
  - url: 'https://github.com/openbao/openbao'
  - url: >-
      https://github.com/openbao/openbao/blob/788536bd3e10818a7b4fb00aac6affc23388e5a9/http/logical.go#L50
tags:
  - osv
  - go
epss: 0.00688
epssPercentile: 0.50595
ingestedAt: '2026-07-27T19:08:54.724Z'
---

## Overview

### Summary

JSON objects after decoding might use more memory than their serialized version. It is possible to tune a JSON to maximize the factor between serialized memory usage and deserialized memory usage (similar to a zip bomb). While reproducing the issue, we could reach a factor of about 35. This can be used to circumvent the [`max_request_size` (https://openbao.org/docs/configuration/listener/tcp/) configuration parameter, which is meant to protect against Denial of Service attacks, and also makes Denial of Service attacks easier in general, as the attacker needs much less resources.

### Details

The request body is parsed into a `map[string]interface{}` https://github.com/openbao/openbao/blob/788536bd3e10818a7b4fb00aac6affc23388e5a9/http/logical.go#L50 very early in the request handling chain (before authentication), which means an attacker can send a specifically crafted JSON object and cause an OOM crash. Additionally, for simpler requests with large numbers of strings, the audit subsystem can consume large quantities of CPU. 

To remediate, set `max_request_json_memory` and `max_request_json_strings`.

### Impact

- Unauthenticated Denial of Service

### Resources

This issue was disclosed directly to HashiCorp and is the OpenBao equivalent of the following tickets:

- https://discuss.hashicorp.com/t/hcsec-2025-24-vault-denial-of-service-though-complex-json-payloads/76393
- https://nvd.nist.gov/vuln/detail/CVE-2025-6203

HashiCorp attributes the problem to the audit subsystem. For OpenBao, it was noted the problem was additionally in the requests handling logic.

## Affected packages

- `github.com/openbao/openbao < 2.4.1`

## Remediation

Upgrade to a patched release:

- `github.com/openbao/openbao 2.4.1`
