{"id":"CVE-2026-48702","title":"Rekor is a software supply chain transparency log","summary":"Rekor is a software supply chain transparency log. Starting in version 0.3.0 and prior to version 1.5.2, the `Package.Unmarshal()` function in `pkg/types/alpine/apk.go` decompresses the signature and control gzip members of an APK file i…","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","cwe":["CWE-770"],"vendor":"Red Hat","product":"Red Hat Hardened Images","affected":["multicluster_engine_for_kubernetes","trusted_artifact_signer","hardened_images","trusted_artifact_signer 1.3","trusted_artifact_signer 1.4"],"patched":["hardened_images","trusted_artifact_signer 1.3","trusted_artifact_signer 1.4"],"published":"2026-08-13","updated":"2026-09-18","sourceUpdated":"2026-09-18T20:05:53.723","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-48702","references":[{"url":"https://github.com/sigstore/rekor/security/advisories/GHSA-47q9-m4ww-924m","label":"security-advisories@github.com"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-48702.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-48702"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2499685"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-48702"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-48702"},{"url":"https://access.redhat.com/errata/RHSA-2026:25138"},{"url":"https://access.redhat.com/errata/RHSA-2026:35111"},{"url":"https://access.redhat.com/errata/RHSA-2026:59439"},{"url":"https://access.redhat.com/errata/RHSA-2026:50873"},{"url":"https://github.com/sigstore/rekor"},{"url":"https://github.com/advisories/GHSA-47q9-m4ww-924m"}],"tags":["nvd","csaf","vex","red-hat","osv","go","ghsa"],"epss":0.00324,"epssPercentile":0.25745,"aliases":["GHSA-47q9-m4ww-924m","GO-2026-5778"],"ecosystem":"go","ingestedAt":"2026-06-26T16:43:14.218Z","slug":"CVE-2026-48702","body":"## Overview\n\nRekor is a software supply chain transparency log. Starting in version 0.3.0 and prior to version 1.5.2, the `Package.Unmarshal()` function in `pkg/types/alpine/apk.go` decompresses the signature and control gzip members of an APK file into in-memory buffers without bounding the total decompressed size. The existing `max_apk_metadata_size` check (default 1MB) is only applied to individual tar entry header sizes after decompression completes, so it does not prevent a decompression bomb from consuming unbounded heap memory. An attacker can craft a gzip stream that compresses at a ~1000:1 ratio (e.g., 2MB compressed zeros → 2GB decompressed). When submitted as spec.package.content in an Alpine `ProposedEntry`, the server decompresses the full payload into memory during request processing, triggering a fatal Go runtime out-of-memory error or OS OOM-kill that cannot be caught by the server's recover() middleware. This is reachable via two unauthenticated endpoints, `POST /api/v1/log/entries (createLogEntry)` and `POST /api/v1/log/entries/retrieve (searchLogQuery)`. Both invoke `V001Entry.Canonicalize()` → `fetchExternalEntities()` → `apk.Unmarshal(packageData)`, which performs the unbounded decompression. Version 1.5.2 patches the issue. There is no effective workaround. Setting `max_request_body_size` reduces but does not eliminate exposure due to the ~1000:1 compression ratio (a 1MB body limit still allows ~1GB heap allocation). Setting `max_apk_metadata_size` has no effect on this vulnerability since the check is applied after decompression.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-48702)\n\nAffected packages:\n\n- `github.com/sigstore/rekor >= 0.3.0, < 1.5.2`\n\nPatched in:\n\n- `github.com/sigstore/rekor 1.5.2`\n\nSource: https://osv.dev/vulnerability/GHSA-47q9-m4ww-924m\n\n## Vendor advisories\n\n- **RHSA-2026:25138** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-06-10 · [advisory](https://access.redhat.com/errata/RHSA-2026:25138)\n- **RHSA-2026:35111** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-07-02 · [advisory](https://access.redhat.com/errata/RHSA-2026:35111)\n- **RHSA-2026:59439** · Red Hat · fixed in: Red Hat Trusted Artifact Signer 1.3 · released 2026-08-25 · [advisory](https://access.redhat.com/errata/RHSA-2026:59439)\n- **RHSA-2026:50873** · Red Hat · fixed in: Red Hat Trusted Artifact Signer 1.4 · released 2026-08-05 · [advisory](https://access.redhat.com/errata/RHSA-2026:50873)\n- **Red Hat VEX** · Important · affected: Multicluster Engine for Kubernetes, Red Hat Trusted Artifact Signer · no fix planned: Multicluster Engine for Kubernetes, Red Hat Trusted Artifact Signer · updated 2026-09-14 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-48702.json)","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}