Skip to content
Heist/ feed
Back to feed
Low

OpenBao has Decompression Bomb via Unbounded Copy in OCI Plugin Extraction (DoS)

Type: advisorySources: OSV

OpenBao is an open source identity-based secrets management system. Prior to version 2.5.3, `ExtractPluginFromImage()` in OpenBao's OCI plugin downloader extracts a plugin binary from a container image by streaming decompressed tar data via `io.Copy` with no upper bound on the number of bytes written. An attacker who controls or compromises the OCI registry referenced in the victim's configuration can serve a crafted image containing a decompression bomb that decompresses to an arbitrarily large file. The SHA256 integrity check occurs after the full file is written to disk, meaning the hash mismatch is detected only after the damage (disk exhaustion) has already occurred. This allow the attacker to replace **legit plugin image** with no need to change its signature. Version 2.5.3 contains a patch.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-39396
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 08:31 UTC · Revision 1

Source evidence

OpenBao has Decompression Bomb via Unbounded Copy in OCI Plugin Extraction (DoS)

core-osv · Original source

Published 21 Apr 2026, 00:44 UTC

OpenBao is an open source identity-based secrets management system. Prior to version 2.5.3, `ExtractPluginFromImage()` in OpenBao's OCI plugin downloader extracts a plugin binary from a container image by streaming decompressed tar data via `io.Copy` with no upper bound on the number of bytes written. An attacker who controls or compromises the OCI registry referenced in the victim's configuration can serve a crafted image containing a decompression bomb that decompresses to an arbitrarily large file. The SHA256 integrity check occurs after the full file is written to disk, meaning the hash mismatch is detected only after the damage (disk exhaustion) has already occurred. This allow the attacker to replace **legit plugin image** with no need to change its signature. Version 2.5.3 contains a patch.

osv:CVE-2026-39396
Complete source record
{
  "id": "6fbe56609e53b26fda0cfc1713e7b1a1400744c30d53d3d8b62d81eb6f326bb9",
  "url": "https://osv.dev/vulnerability/CVE-2026-39396",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "OpenBao has Decompression Bomb via Unbounded Copy in OCI Plugin Extraction (DoS)",
    "summary": "OpenBao is an open source identity-based secrets management system. Prior to version 2.5.3, `ExtractPluginFromImage()` in OpenBao's OCI plugin downloader extracts a plugin binary from a container image by streaming decompressed tar data via `io.Copy` with no upper bound on the number of bytes written. An attacker who controls or compromises the OCI registry referenced in the victim's configuration can serve a crafted image containing a decompression bomb that decompresses to an arbitrarily large file. The SHA256 integrity check occurs after the full file is written to disk, meaning the hash mismatch is detected only after the damage (disk exhaustion) has already occurred. This allow the attacker to replace **legit plugin image** with no need to change its signature. Version 2.5.3 contains a patch.",
    "evidence": "osv:CVE-2026-39396",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-39396",
      "aliases": [
        "BIT-openbao-2026-39396",
        "CVE-2026-39396",
        "GHSA-r65v-xgwc-g56j",
        "GO-2026-5609"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/openbao/openbao",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "988c88d7ef54b4d4581629b229488dfba5e085ba"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.5.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:openbao:openbao:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.5.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.5.2",
            "v2.5.1",
            "v2.5.0",
            "sdk/v2.5.1",
            "api/v2.5.1",
            "api/auth/userpass/v2.5.1",
            "api/auth/ldap/v2.5.1",
            "api/auth/kubernetes/v2.5.1",
            "api/auth/jwt/v2.5.1",
            "api/auth/approle/v2.5.1",
            "v2.5.0-beta20251125",
            "sdk/v2.5.0",
            "api/v2.5.0",
            "api/auth/userpass/v2.5.0",
            "api/auth/ldap/v2.5.0",
            "api/auth/kubernetes/v2.5.0",
            "api/auth/jwt/v2.5.0",
            "api/auth/approle/v2.5.0",
            "v2.4.0",
            "sdk/v2.4.0",
            "api/v2.4.0",
            "api/auth/userpass/v2.4.0",
            "api/auth/ldap/v2.4.0",
            "api/auth/kubernetes/v2.4.0",
            "api/auth/jwt/v2.4.0",
            "api/auth/approle/v2.4.0",
            "v2.3.0-beta20250528",
            "sdk/v2.3.0",
            "api/v2.3.0",
            "api/auth/userpass/v2.3.0",
            "api/auth/ldap/v2.3.0",
            "api/auth/kubernetes/v2.3.0",
            "api/auth/approle/v2.3.0",
            "dev-namespaces-base-20250424",
            "dev-namespaces-base-20250311",
            "v2.2.0-beta20250213",
            "dev-namespaces-base-20250215",
            "sdk/v2.2.0",
            "api/v2.2.0",
            "api/auth/userpass/v2.2.0",
            "api/auth/ldap/v2.2.0",
            "api/auth/kubernetes/v2.2.0",
            "api/auth/approle/v2.2.0",
            "v2.1.0-beta20241114.3",
            "v2.1.0-beta20241114.2",
            "v2.1.0-beta20241114.1",
            "v2.1.0-beta20241114",
            "sdk/v2.1.0",
            "api/v2.1.0",
            "v2.0.0",
            "sdk/v2.0.1",
            "api/v2.0.1",
            "api/auth/userpass/v2.0.1",
            "api/auth/ldap/v2.0.1",
            "api/auth/kubernetes/v2.0.1",
            "api/auth/approle/v2.0.1",
            "v2.0.0-beta20240618",
            "sdk/v1.100.0-development20240408",
            "api/v1.100.0-development20240408",
            "api/auth/userpass/v1.1.0-development20240408",
            "api/auth/ldap/v1.1.0-development20240408",
            "api/auth/kubernetes/v1.1.0-development20240408",
            "api/auth/gcp/v1.1.0-development20240408",
            "api/auth/azure/v1.1.0-development20240408",
            "api/auth/aws/v1.1.0-development20240408",
            "api/auth/approle/v1.1.0-development20240408",
            "v2.0.0-alpha20240329",
            "before-plugin-removal",
            "api/auth/userpass/v0.4.1",
            "api/auth/gcp/v0.4.1",
            "api/auth/azure/v0.4.1",
            "api/auth/aws/v0.4.1",
            "api/auth/approle/v0.4.1",
            "sdk/v0.9.1",
            "api/v1.9.2",
            "api/v1.9.1",
            "sdk/v0.9.0",
            "api/auth/userpass/v0.4.0",
            "api/auth/gcp/v0.4.0",
            "api/auth/azure/v0.4.0",
            "api/auth/aws/v0.4.0",
            "api/auth/approle/v0.4.0",
            "sdk/v0.8.0",
            "api/v1.9.0",
            "api/v1.8.3",
            "sdk/v0.7.0",
            "sdk/v0.6.2",
            "sdk/v0.6.1",
            "api/v1.8.2",
            "api/v1.8.1",
            "api/auth/userpass/v0.3.0",
            "api/auth/gcp/v0.3.0",
            "api/auth/azure/v0.3.0",
            "api/auth/aws/v0.3.0",
            "api/auth/approle/v0.3.0",
            "api/v1.8.0",
            "sdk/v0.6.0",
            "api/auth/userpass/v0.2.0",
            "api/auth/gcp/v0.2.0",
            "api/auth/azure/v0.2.0",
            "api/auth/aws/v0.2.0",
            "api/auth/approle/v0.2.0",
            "sdk/v0.5.3",
            "api/v1.7.2",
            "sdk/v0.5.1",
            "api/v1.7.1",
            "api/v1.7.0",
            "api/v1.6.0",
            "sdk/v0.5.0",
            "api/v1.5.0",
            "sdk/v0.4.1",
            "api/v1.3.1",
            "api/auth/approle/v0.1.1",
            "api/auth/gcp/v0.1.0",
            "api/auth/azure/v0.1.0",
            "api/auth/userpass/v0.1.0",
            "api/auth/aws/v0.1.0",
            "api/auth/approle/v0.1.0",
            "sdk/v0.3.0",
            "api/v1.2.0",
            "api/v1.1.1",
            "sdk/v0.2.1",
            "api/v1.0.4",
            "sdk/v0.1.13",
            "api/v1.0.3",
            "sdk/v0.1.12",
            "sdk/v0.1.11",
            "sdk/v0.1.10",
            "api/v1.0.2",
            "sdk/v0.1.9",
            "api/v1.0.1",
            "sdk/v0.1.8"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-39396.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.457851297Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39396.json",
        "https://github.com/openbao/openbao/security/advisories/GHSA-r65v-xgwc-g56j",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-39396"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400",
          "CWE-674",
          "CWE-770"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39396.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-39396",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493846,
  "published_at": "2026-04-21T00:44:53.943+00:00"
}