Skip to content
OpenAdvisories

Description

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 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.

Affected products

VendorProductAffectedFixed
sigstore rekor >= 0.3.0, < 1.5.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 rekor 1.5.2-1 —
Debian 13 rekor No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS rekor No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 cosign 3.1.1-0.1.hum1 RHSA-2026:25138
Red Hat Hardened Images 1 trivy 0.72.0-0.1.hum1 RHSA-2026:35111
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed hauler 2.0.1-1.1 openSUSE-SU-2026:11154-1
openSUSE Tumbleweed tekton-cli 0.45.1-1.1 openSUSE-SU-2026:11398-1
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1
openSUSE Leap 16.0 hauler 2.0.1-bp160.1.1 openSUSE-SU-2026:21262-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 runfinch-finch 1.17.2-1.amzn2023.0.3 ALAS2023-2026-2023

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling aactl 0.4.12-r60 —
Wolfi rolling crossplane-2.2 2.2.3-r2 —
Wolfi rolling falcoctl 0.13.0-r7 —
Wolfi rolling gitsign 0.16.1-r1 —
Wolfi rolling goreleaser 2.17.0-r0 —
Wolfi rolling ko 0.19.1-r0 —
Wolfi rolling kubescape 4.0.9-r3 —
Wolfi rolling kyverno-1.17 1.17.2-r35 —
Wolfi rolling kyverno-1.18 +5 1.18.1-r7 —
Wolfi rolling kyverno-cli-1.17 +4 1.17.2-r13 —
Wolfi rolling kyverno-notation-aws 1.1-r61 —
Wolfi rolling neuvector-sigstore-interface 0_git20260617-r1 —
Wolfi rolling policy-controller +1 0.15.1-r16 —
Wolfi rolling ratify 1.4.0-r35 —
Wolfi rolling ratify-licensechecker-compat 1.4.5-r4 —
Wolfi rolling slsa-verifier 2.7.1-r21 —
Wolfi rolling spire-agent 1.15.1-r3 —
Wolfi rolling tekton-chains 0.27.2-r1 —
Wolfi rolling teleport-18.6-kube-agent-updater 18.6.8-r24 —
Wolfi rolling tflint 0.63.1-r2 —
Wolfi rolling tkn 0.45.0-r6 —
Wolfi rolling trivy-operator 0.30.1-r18 —
Wolfi rolling zarf 0.80.0-r1 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/sigstore/rekor >= 0.3.0, < 1.5.2 1.5.2 GHSA-47q9-m4ww-924m

Advisories 7

References