{"id":"GHSA-g46h-2rq9-gw5m","revision":"e12acf8c281a48ce938567fd2b299140","records":[{"revision":"e12acf8c281a48ce938567fd2b299140","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-g46h-2rq9-gw5m","aliases":["BIT-openbao-2025-59043","CVE-2025-59043","GO-2025-4039"],"title":"OpenBao has potential Denial of Service vulnerability when processing malicious unauthenticated JSON requests","description":"### Summary\n\nJSON 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.\n\n### Details\n\nThe 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. \n\nTo remediate, set `max_request_json_memory` and `max_request_json_strings`.\n\n### Impact\n\n- Unauthenticated Denial of Service\n\n### Resources\n\nThis issue was disclosed directly to HashiCorp and is the OpenBao equivalent of the following tickets:\n\n- https://discuss.hashicorp.com/t/hcsec-2025-24-vault-denial-of-service-though-complex-json-payloads/76393\n- https://nvd.nist.gov/vuln/detail/CVE-2025-6203\n\nHashiCorp attributes the problem to the audit subsystem. For OpenBao, it was noted the problem was additionally in the requests handling logic.","state":0,"publishedAt":"2025-10-17T17:08:11+00:00","modifiedAt":"2026-07-27T09:11:37.2532777+00:00","affected":[{"ecosystem":"Go","name":"github.com/openbao/openbao","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"2.4.1"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/openbao/openbao/security/advisories/GHSA-g46h-2rq9-gw5m","https://nvd.nist.gov/vuln/detail/CVE-2025-59043","https://nvd.nist.gov/vuln/detail/CVE-2025-6203","https://github.com/openbao/openbao/pull/1756","https://github.com/openbao/openbao/commit/d418f238bc99adc72c73109faf574cc2b672880c","https://discuss.hashicorp.com/t/hcsec-2025-24-vault-denial-of-service-though-complex-json-payloads/76393","https://github.com/openbao/openbao","https://github.com/openbao/openbao/blob/788536bd3e10818a7b4fb00aac6affc23388e5a9/http/logical.go#L50"],"sourceUrl":"https://github.com/advisories/GHSA-g46h-2rq9-gw5m","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-g46h-2rq9-gw5m","identifiers":["GHSA-g46h-2rq9-gw5m","BIT-openbao-2025-59043","CVE-2025-59043","GO-2025-4039"]},"retained":false,"historicalAffected":[]}],"coverage":[]}