Unbounded DAA Decompression in Pandora Allows Denial of Service via Decompression Bomb
Pandora contains a denial-of-service vulnerability in its handling of DAA (Direct Access Archive) files. When extracting the internal ISO image from a DAA archive, compressed chunks were decompressed using zlib.decompress() without enforcing a limit on the resulting uncompressed data. An attacker able to submit a crafted DAA file containing highly compressed data could cause Pandora to decompress a relatively small input into a very large amount of data in memory. Because the decompressed chunks are accumulated to construct the internal ISO image, this could result in excessive memory consumption and potentially CPU exhaustion, causing the extraction worker to become unresponsive, terminate, or affect the availability of the Pandora service. The patch introduces bounded decompression using decompressobj().decompress() with max_extracted_filesize, verifies the cumulative size of decompressed chunks, and raises a dedicated ZipBomb exception when the configured limit is exceeded. Pandora then aborts extraction and reports the file as too large.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-74767
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 20:36 UTC · Revision 1
Source evidence
Unbounded DAA Decompression in Pandora Allows Denial of Service via Decompression Bomb
core-osv · Original sourcePublished 15 Aug 2026, 21:56 UTC
Pandora contains a denial-of-service vulnerability in its handling of DAA (Direct Access Archive) files. When extracting the internal ISO image from a DAA archive, compressed chunks were decompressed using zlib.decompress() without enforcing a limit on the resulting uncompressed data. An attacker able to submit a crafted DAA file containing highly compressed data could cause Pandora to decompress a relatively small input into a very large amount of data in memory. Because the decompressed chunks are accumulated to construct the internal ISO image, this could result in excessive memory consumption and potentially CPU exhaustion, causing the extraction worker to become unresponsive, terminate, or affect the availability of the Pandora service. The patch introduces bounded decompression using decompressobj().decompress() with max_extracted_filesize, verifies the cumulative size of decompressed chunks, and raises a dedicated ZipBomb exception when the configured limit is exceeded. Pandora then aborts extraction and reports the file as too large.
osv:CVE-2026-74767
Complete source record
{
"id": "7f25fccb99343d2c265943867380473eeee4241e152b32b07d6560757bd5da8f",
"url": "https://osv.dev/vulnerability/CVE-2026-74767",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Unbounded DAA Decompression in Pandora Allows Denial of Service via Decompression Bomb",
"summary": "Pandora contains a denial-of-service vulnerability in its handling of DAA (Direct Access Archive) files. When extracting the internal ISO image from a DAA archive, compressed chunks were decompressed using zlib.decompress() without enforcing a limit on the resulting uncompressed data. An attacker able to submit a crafted DAA file containing highly compressed data could cause Pandora to decompress a relatively small input into a very large amount of data in memory. Because the decompressed chunks are accumulated to construct the internal ISO image, this could result in excessive memory consumption and potentially CPU exhaustion, causing the extraction worker to become unresponsive, terminate, or affect the availability of the Pandora service. The patch introduces bounded decompression using decompressobj().decompress() with max_extracted_filesize, verifies the cumulative size of decompressed chunks, and raises a dedicated ZipBomb exception when the configured limit is exceeded. Pandora then aborts extraction and reports the file as too large.",
"evidence": "osv:CVE-2026-74767",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-74767",
"aliases": [
"CVE-2026-74767"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/pandora-analysis/pandora",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "f4294a873f86fbf2569c289e329fff2f52ca50c9"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.12.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"fixed": "f4294a873f86fbf2569c289e329fff2f52ca50c9"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v1.12.3",
"v1.12.2",
"v1.12.1",
"v1.12.0",
"v1.11.3",
"v1.11.2",
"v1.11.1",
"v1.11.0",
"v1.10.0",
"v1.9.0",
"v1.8.0",
"v1.7.0",
"v1.6.0",
"v1.5.0",
"v1.4.0",
"v1.3.1",
"v1.3.0",
"v1.2.0",
"v1.0.1",
"v1.0.0",
"v0.8.1",
"v0.8",
"v0.7"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74767.json"
}
}
],
"modified": "2026-10-28T02:30:51.496636219Z",
"provider": "osv",
"references": [
"https://github.com/pandora-analysis/pandora/",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74767.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-74767",
"https://github.com/pandora-analysis/pandora/commit/f4294a873f86fbf2569c289e329fff2f52ca50c9"
],
"provider_metadata": {
"cwe_ids": [
"CWE-434"
],
"cna_assigner": "CIRCL",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74767.json"
}
},
"related_cves": [
{
"value": "CVE-2026-74767",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 520331,
"published_at": "2026-08-15T21:56:44.562+00:00"
}