Rekor: [Unknown description] (CVE-2026-48702)
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.
AI Analysis
Technical Summary
Rekor versions >=0.3.0 and <1.5.2 contain a resource exhaustion vulnerability (CWE-770) in the Package.Unmarshal() function within pkg/types/alpine/apk.go. This function decompresses gzip-compressed signature and control members of Alpine APK files into memory without bounding the decompressed size, allowing crafted gzip streams with extreme compression ratios (~1000:1) to cause excessive heap memory allocation. The existing max_apk_metadata_size limit applies only after decompression, failing to prevent decompression bombs. The vulnerability is reachable via unauthenticated POST requests to /api/v1/log/entries and /api/v1/log/entries/retrieve endpoints, which invoke the vulnerable decompression code path. Exploitation results in fatal Go runtime out-of-memory errors or OS-level OOM kills, which cannot be recovered by the server middleware. Version 1.5.2 patches this vulnerability. No effective workaround is available; limiting max_request_body_size reduces but does not eliminate risk due to the high decompression ratio.
Potential Impact
An attacker can cause the Rekor server to consume excessive memory by submitting specially crafted gzip-compressed payloads, leading to fatal out-of-memory errors or the operating system terminating the process. This results in denial of service (DoS) of the affected service. The vulnerability does not impact confidentiality or integrity but causes availability disruption. The attack requires no authentication and can be triggered remotely via two API endpoints.
Mitigation Recommendations
Version 1.5.2 of Rekor includes an official fix that addresses this vulnerability. Users should upgrade to version 1.5.2 or later to remediate the issue. There is no effective workaround; limiting max_request_body_size can reduce but not eliminate the risk due to the high compression ratio of the exploit payload. The max_apk_metadata_size setting does not mitigate this vulnerability as it applies only after decompression. Operators should prioritize patching to prevent denial of service.
Rekor: [Unknown description] (CVE-2026-48702)
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.
CVSS v3.1
Score 7.5high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Rekor versions >=0.3.0 and <1.5.2 contain a resource exhaustion vulnerability (CWE-770) in the Package.Unmarshal() function within pkg/types/alpine/apk.go. This function decompresses gzip-compressed signature and control members of Alpine APK files into memory without bounding the decompressed size, allowing crafted gzip streams with extreme compression ratios (~1000:1) to cause excessive heap memory allocation. The existing max_apk_metadata_size limit applies only after decompression, failing to prevent decompression bombs. The vulnerability is reachable via unauthenticated POST requests to /api/v1/log/entries and /api/v1/log/entries/retrieve endpoints, which invoke the vulnerable decompression code path. Exploitation results in fatal Go runtime out-of-memory errors or OS-level OOM kills, which cannot be recovered by the server middleware. Version 1.5.2 patches this vulnerability. No effective workaround is available; limiting max_request_body_size reduces but does not eliminate risk due to the high decompression ratio.
Potential Impact
An attacker can cause the Rekor server to consume excessive memory by submitting specially crafted gzip-compressed payloads, leading to fatal out-of-memory errors or the operating system terminating the process. This results in denial of service (DoS) of the affected service. The vulnerability does not impact confidentiality or integrity but causes availability disruption. The attack requires no authentication and can be triggered remotely via two API endpoints.
Mitigation Recommendations
Version 1.5.2 of Rekor includes an official fix that addresses this vulnerability. Users should upgrade to version 1.5.2 or later to remediate the issue. There is no effective workaround; limiting max_request_body_size can reduce but not eliminate the risk due to the high compression ratio of the exploit payload. The max_apk_metadata_size setting does not mitigate this vulnerability as it applies only after decompression. Operators should prioritize patching to prevent denial of service.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-47q9-m4ww-924m
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-48702"]
- Ecosystems
- ["Go"]
- Database Specific Severity
- HIGH
- Cvss Version
- 3.1
Threat ID: 6a3ef7e727e9c79719032cf0
Added to database: 06/26/2026, 22:06:31 UTC
Last enriched: 08/13/2026, 18:40:43 UTC
Last updated: 09/13/2026, 10:01:31 UTC
Views: 134
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.