OpenBao, JSON Bomb Denial of Service, CVE-2023-26486 (Critical)

Listen to this Post

This CVE exploits the disparity in memory usage between a serialized JSON payload and its deserialized in-memory representation. An attacker can craft a malicious JSON object, akin to a zip bomb, that is small in its serialized form but expands dramatically—by a factor of up to 35—when decoded into a Go `map

interface{}` by the OpenBao server. This deserialization happens early in the request handling process, before authentication. By sending this payload, an attacker can exhaust the server's memory (OOM crash), bypassing the `max_request_size` protection. The attack is unauthenticated, making it highly effective for Denial of Service. Additionally, specific JSON structures with numerous strings can cause high CPU consumption in the audit subsystem.
Platform: OpenBao
Version: Pre-remediation
Vulnerability: JSON Bomb
Severity: Critical

<h2 style="color: blue;">date: 2023</h2>

<h2 style="color: blue;">Prediction: 2023-10-15</h2>

<h2 style="color: blue;">What Undercode Say:</h2>

[bash]
curl -X POST http://openbao:8200/v1/sys/audit -H "X-Vault-Token: $token" -d '{"type":"file", "options": {"file_path":"/vault/audit/audit.log"}}'
var data map[bash]interface{}
if err := json.Unmarshal(body, &data); err != nil {
return nil, err
}

How Exploit:

Craft small JSON file.

Target `/v1/sys/audit` endpoint.

Send unauthenticated POST request.

Trigger memory exhaustion.

Protection from this CVE

Set `max_request_json_memory`.

Set `max_request_json_strings`.

Update OpenBao version.

Impact:

Unauthenticated Denial of Service.

Bypasses `max_request_size`.

High CPU consumption.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top