Security Vulnerability Report
中文
CVE-2026-32288 CVSS 5.5 MEDIUM

CVE-2026-32288

Published: 2026-04-08 02:16:04
Last Modified: 2026-04-16 19:08:52

Description

tar.Reader can allocate an unbounded amount of memory when reading a maliciously-crafted archive containing a large number of sparse regions encoded in the "old GNU sparse map" format.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:golang:go:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:golang:go:*:*:*:*:*:*:*:* - VULNERABLE
Go (archive/tar) (具体受影响版本请参考官方公告)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
package main import ( "archive/tar" "bytes" "fmt" "io" "os" ) // This PoC demonstrates the potential for memory exhaustion. // It creates a tar archive with a sparse file header (conceptual). // Actual exploitation requires specific "old GNU sparse map" formatting. func main() { // Create a buffer to hold the tar archive var buf bytes.Buffer tw := tar.NewWriter(&buf) // In a real exploit, the header would be manually crafted to include // a massive number of entries in the "old GNU sparse map". // Standard tar writers might not allow creating the malformed structure easily, // so this code represents the *reader* side that crashes. // Simulating reading a malicious archive // (Assuming 'malicious.tar' is a file crafted with numerous sparse entries) f, err := os.Open("malicious_sparse.tar") if err != nil { fmt.Println("Please provide a crafted malicious_sparse.tar file") return } defer f.Close() tr := tar.NewReader(f) for { _, err := tr.Next() if err == io.EOF { break } if err != nil { fmt.Printf("Error parsing tar: %v\n", err) return } // The allocation happens internally during Next() or Read() } }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32288", "sourceIdentifier": "[email protected]", "published": "2026-04-08T02:16:03.707", "lastModified": "2026-04-16T19:08:52.240", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "tar.Reader can allocate an unbounded amount of memory when reading a maliciously-crafted archive containing a large number of sparse regions encoded in the \"old GNU sparse map\" format."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-770"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.25.9", "matchCriteriaId": "C6C9C072-9817-402D-877F-F83584B07017"}, {"vulnerable": true, "criteria": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*", "versionStartIncluding": "1.26.0", "versionEndExcluding": "1.26.2", "matchCriteriaId": "39FE9BAF-55E9-43AA-B14E-239E7EF1D65D"}]}]}], "references": [{"url": "https://go.dev/cl/763766", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://go.dev/issue/78301", "source": "[email protected]", "tags": ["Issue Tracking"]}, {"url": "https://groups.google.com/g/golang-announce/c/0uYbvbPZRWU", "source": "[email protected]", "tags": ["Release Notes", "Mailing List"]}, {"url": "https://pkg.go.dev/vuln/GO-2026-4869", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}