{"metadata": {"vulnerability": "CVE-2026-119208", "count": 34, "kinds": {"milestone": 11, "sighting": 3, "kev": 0, "other": 20}, "linked_omitted": 0}, "data": [{"timestamp": "2026-10-29T16:04:48.729Z", "date_only": false, "value": "2026-10-29T16:04:48.729Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-119208", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-10-29T20:41:02.879Z", "date_only": false, "value": "2026-10-29T20:41:02.879Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119208", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-29T20:41:02.879Z", "date_only": false, "value": "2026-10-29T20:41:02.879Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / GitHub_M", "record": "CVE-2026-119208", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-29T20:47:32.093Z", "date_only": false, "value": "2026-10-29T20:47:32.093374Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117526157832213623", "record": "CVE-2026-119208", "field": "creation_timestamp", "uuid": "4619ea25-88a1-40e4-a358-a947e2d826ec", "content": "CVE-2026-119208 pypdf: Possible long runtimes/large memory usage for encrypted PDF files pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive time and memory when an application accesses the page count of a crafted encrypted PDF whose page tree declares a forged /Count value. Even after successful decryption, page-count retrieval trusts the unvalidated declared count instead of walking the page tree, allowing the attacker-controlled value to drive excessive work and memory use. This issue is fixed in version 6.21.3.\nhttps://www.cve.org/CVERecord?id=CVE-2026-119208https://github.com/py-pdf/pypdf/security/advisories/GHSA-62m5-6wh8-28x7https://github.com/py-pdf/pypdf/pull/4270https://github.com/py-pdf/pypdf/commit/82b91951dc74496bb3efe6465434f041bb6a5e6bhttps://github.com/py-pdf/pypdf/releases/tag/6.21.3#py-pdf #pypdf#CVE_2026_119208#bot", "url": "https://infosec.exchange/users/cve/statuses/117526157832213623"}, {"timestamp": "2026-10-29T21:17:00Z", "date_only": false, "value": "2026-10-29T21:17:00Z", "kind": "milestone", "label": "Published", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-119208", "record": "UBUNTU-CVE-2026-119208", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-29T21:17:20Z", "date_only": false, "value": "2026-10-29T21:17:20Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-62M5-6WH8-28X7", "record": "GHSA-62M5-6WH8-28X7", "field": "database_specific.nvd_published_at", "linked_record": true}, {"timestamp": "2026-10-29T21:17:20.090Z", "date_only": false, "value": "2026-10-29T21:17:20.090", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-119208", "record": "FKIE_CVE-2026-119208", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-30T23:08:24Z", "date_only": false, "value": "2026-10-30T23:08:24Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-62M5-6WH8-28X7", "record": "GHSA-62M5-6WH8-28X7", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-30T23:08:24Z", "date_only": false, "value": "2026-10-30T23:08:24Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-62M5-6WH8-28X7", "record": "GHSA-62M5-6WH8-28X7", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-31T09:44:22Z", "date_only": false, "value": "2026-10-31T09:44:22Z", "kind": "milestone", "label": "Published", "source": "osv_homebrew \u00b7 BREW-RAPID-MLX-CVE-2026-119208", "record": "BREW-RAPID-MLX-CVE-2026-119208", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-31T10:44:05Z", "date_only": false, "value": "2026-10-31T10:44:05Z", "kind": "milestone", "label": "Published", "source": "osv_homebrew \u00b7 BREW-PSUTILS-CVE-2026-119208", "record": "BREW-PSUTILS-CVE-2026-119208", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-31T10:53:10Z", "date_only": false, "value": "2026-10-31T10:53:10Z", "kind": "milestone", "label": "Published", "source": "osv_homebrew \u00b7 BREW-PDFLY-CVE-2026-119208", "record": "BREW-PDFLY-CVE-2026-119208", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-31T11:07:52Z", "date_only": false, "value": "2026-10-31T11:07:52Z", "kind": "milestone", "label": "Published", "source": "osv_homebrew \u00b7 BREW-PDFALYZER-CVE-2026-119208", "record": "BREW-PDFALYZER-CVE-2026-119208", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-31T11:07:52Z", "date_only": false, "value": "2026-10-31T11:07:52Z", "kind": "other", "label": "Updated", "source": "osv_homebrew \u00b7 BREW-PDFALYZER-CVE-2026-119208", "record": "BREW-PDFALYZER-CVE-2026-119208", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-31T12:30:51Z", "date_only": false, "value": "2026-10-31T12:30:51.000000Z", "kind": "sighting", "label": "Seen", "source": "https://gist.github.com/alon710/7159e1006c48e3f1e9440ed0524c0ed6", "record": "CVE-2026-119208", "field": "creation_timestamp", "uuid": "9b9bc563-047f-482f-99c6-be42ba12b321", "content": "# CVE-2026-119208: CVE-2026-119208: Uncontrolled Resource Consumption in pypdf Encrypted Page Count Evaluation\n\n&gt; **CVSS Score:** 7.1\n&gt; **Published:** 2026-10-30\n&gt; **Full Report:** https://cvereports.com/reports/CVE-2026-119208\n\n## Summary\nCVE-2026-119208 is an uncontrolled resource consumption vulnerability in the pypdf Python library prior to version 6.21.3. When processing an encrypted PDF file after successful decryption, the get_num_pages() method fails to verify whether the encryption handler has already unlocked the document. Consequently, pypdf returns the unvalidated /Count integer directly from the /Pages catalog dictionary instead of traversing and flattening the actual page tree. Attackers can supply an encrypted PDF with an artificially inflated /Count attribute to trigger excessive memory allocation and prolonged CPU usage during downstream operations such as page iteration or label resolution.\n\n## TL;DR\nVersions of pypdf prior to 6.21.3 trust the unvalidated /Count metadata in encrypted PDFs even after decryption, enabling attackers to trigger memory exhaustion and CPU starvation via forged page counts.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **Vulnerability Type**: CWE-400: Uncontrolled Resource Consumption\n- **Attack Vector**: Network (Crafted Encrypted PDF File)\n- **CVSS v4.0 Score**: 7.1 High (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H)\n- **EPSS Score**: 0.30% (23.18th Percentile)\n- **Affected Component**: PdfDocCommon.get_num_pages() in pypdf/_doc_common.py\n- **Impact**: Denial of Service via Memory Exhaustion &amp; CPU Lockup\n- **Exploit Status**: Proof-of-Concept Available (Unit Test Reproduction)\n- **Patched Version**: pypdf 6.21.3\n\n## Affected Systems\n\n- pypdf (Python Package Index / PyPI)\n- **pypdf**: &lt; 6.21.3 (Fixed in: `6.21.3`)\n\n## Mitigation\n\n- Upgrade pypdf to version 6.21.3 or later to ensure decrypted documents validate page counts by flattening the page tree.\n- Enforce process-level memory limits (cgroups, ulimit, or resource.setrlimit) on worker processes handling untrusted PDF parsing.\n- Implement strict execution timeouts on background jobs and request handlers that ingest and decrypt PDF documents.\n- Explicitly invoke internal page tree flattening after decryption if running on legacy versions that cannot be immediately upgraded.\n\n**Remediation Steps:**\n1. Audit application dependencies (requirements.txt, pyproject.toml, Pipfile.lock) to identify installations of pypdf prior to 6.21.3.\n2. Run `pip install --upgrade \"pypdf&gt;=6.21.3\"` across affected environments and rebuild deployment containers.\n3. Verify that unit and integration tests pass, specifically confirming that encrypted PDF workflows properly invoke `reader.decrypt()` prior to accessing page counts or labels.\n4. Configure worker orchestration frameworks (such as Celery or Kubernetes pods) with appropriate memory limits and task timeouts.\n\n## References\n\n- [GitHub Security Advisory GHSA-62m5-6wh8-28x7](https://github.com/py-pdf/pypdf/security/advisories/GHSA-62m5-6wh8-28x7)\n- [GitHub Pull Request #4270: SEC: Use the validated page count after decrypting a document](https://github.com/py-pdf/pypdf/pull/4270)\n- [Fix Commit 82b91951dc74496bb3efe6465434f041bb6a5e6b](https://github.com/py-pdf/pypdf/commit/82b91951dc74496bb3efe6465434f041bb6a5e6b)\n- [pypdf Release 6.21.3](https://github.com/py-pdf/pypdf/releases/tag/6.21.3)\n- [National Vulnerability Database (NVD) - CVE-2026-119208](https://nvd.nist.gov/vuln/detail/CVE-2026-119208)\n- [CVE.org Record - CVE-2026-119208](https://www.cve.org/CVERecord?id=CVE-2026-119208)\n- [CVEListV5 Official JSON Record](https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/119xxx/CVE-2026-119208.json)\n- [Wiz Vulnerability Database - CVE-2026-119208](https://www.wiz.io/vulnerability-database/cve/cve-2026-119208)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/CVE-2026-119208) - Automated Vulnerability Intelligence*", "url": "https://gist.github.com/alon710/7159e1006c48e3f1e9440ed0524c0ed6"}, {"timestamp": "2026-10-31T20:06:07Z", "date_only": false, "value": "2026-10-31T20:06:07Z", "kind": "other", "label": "Updated", "source": "osv_homebrew \u00b7 BREW-RAPID-MLX-CVE-2026-119208", "record": "BREW-RAPID-MLX-CVE-2026-119208", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-31T20:07:35Z", "date_only": false, "value": "2026-10-31T20:07:35Z", "kind": "other", "label": "Updated", "source": "osv_homebrew \u00b7 BREW-PDFLY-CVE-2026-119208", "record": "BREW-PDFLY-CVE-2026-119208", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-31T20:45:59Z", "date_only": false, "value": "2026-10-31T20:45:59Z", "kind": "other", "label": "Updated", "source": "osv_homebrew \u00b7 BREW-PSUTILS-CVE-2026-119208", "record": "BREW-PSUTILS-CVE-2026-119208", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-02T16:47:23Z", "date_only": false, "value": "2026-11-02T16:47:23Z", "kind": "other", "label": "Advisory revision", "source": "csaf_opensuse \u00b7 OPENSUSE-SU-2026:22219-1", "record": "OPENSUSE-SU-2026:22219-1", "field": "document.tracking.revision_history.0.date", "linked_record": true}, {"timestamp": "2026-11-02T16:47:23Z", "date_only": false, "value": "2026-11-02T16:47:23Z", "kind": "other", "label": "Document generated", "source": "csaf_opensuse \u00b7 OPENSUSE-SU-2026:22219-1", "record": "OPENSUSE-SU-2026:22219-1", "field": "document.tracking.generator.date", "linked_record": true}, {"timestamp": "2026-11-02T16:47:23Z", "date_only": false, "value": "2026-11-02T16:47:23Z", "kind": "other", "label": "Impact", "source": "csaf_opensuse \u00b7 OPENSUSE-SU-2026:22219-1", "record": "OPENSUSE-SU-2026:22219-1", "field": "vulnerabilities.0.threats.0.date", "linked_record": true}, {"timestamp": "2026-11-02T16:47:23Z", "date_only": false, "value": "2026-11-02T16:47:23Z", "kind": "milestone", "label": "Published", "source": "csaf_opensuse \u00b7 OPENSUSE-SU-2026:22219-1", "record": "OPENSUSE-SU-2026:22219-1", "field": "document.tracking.initial_release_date", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-11-04T01:44:58.307Z", "date_only": false, "value": "2026-11-04T01:44:58.307267Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-119208", "field": "containers.adp.0.metrics.0.other.content.timestamp"}, {"timestamp": "2026-11-04T01:44:58.307Z", "date_only": false, "value": "2026-11-04T01:44:58.307267Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-119208", "record": "FKIE_CVE-2026-119208", "field": "metrics.ssvcV203.0.ssvcData.timestamp", "linked_record": true}, {"timestamp": "2026-11-04T01:45:19.570Z", "date_only": false, "value": "2026-11-04T01:45:19.570Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-119208", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-11-04T01:45:19.570Z", "date_only": false, "value": "2026-11-04T01:45:19.570Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-119208", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-11-04T02:17:18.623Z", "date_only": false, "value": "2026-11-04T02:17:18.623", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-119208", "record": "FKIE_CVE-2026-119208", "field": "lastModified", "linked_record": true}, {"timestamp": "2026-11-04T15:29:26.540Z", "date_only": false, "value": "2026-11-04T15:29:26.540690Z", "kind": "sighting", "label": "Seen", "source": "https://bsky.app/profile/cvesentinel.bsky.social/post/54b34fzkoivnj", "record": "CVE-2026-119208", "field": "creation_timestamp", "uuid": "1821eec7-aaba-49b1-bf92-851f894bac58", "content": "\ud83d\udea8 CVE-2026-119208\npy-pdf pypdf\nCVSS 7.1 / EPSS 0.22% / KEV: No\nTL;DR: pypdf is a free and open-source pure-python PDF library. Prior to 6.21.3, pypdf can consume excessive time and memory when an application accesses the\u2026\nhttps://cvesentinel.com/report/CVE-2026-119208\n#infosec #CVE #vulnerability", "url": "https://bsky.app/profile/cvesentinel.bsky.social/post/54b34fzkoivnj"}, {"timestamp": "2026-11-04T21:58:37Z", "date_only": false, "value": "2026-11-04T21:58:37Z", "kind": "other", "label": "Advisory revision", "source": "csaf_opensuse \u00b7 OPENSUSE-SU-2026:22219-1", "record": "OPENSUSE-SU-2026:22219-1", "field": "document.tracking.revision_history.1.date", "linked_record": true}, {"timestamp": "2026-11-05T04:42:51Z", "date_only": false, "value": "2026-11-05T04:42:51Z", "kind": "other", "label": "Updated", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-119208", "record": "UBUNTU-CVE-2026-119208", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-10T16:05:27Z", "date_only": false, "value": "2026-11-10T16:05:27Z", "kind": "other", "label": "Advisory revision", "source": "csaf_opensuse \u00b7 OPENSUSE-SU-2026:22219-1", "record": "OPENSUSE-SU-2026:22219-1", "field": "document.tracking.revision_history.2.date", "linked_record": true}, {"timestamp": "2026-11-10T16:05:27Z", "date_only": false, "value": "2026-11-10T16:05:27Z", "kind": "other", "label": "Updated", "source": "csaf_opensuse \u00b7 OPENSUSE-SU-2026:22219-1", "record": "OPENSUSE-SU-2026:22219-1", "field": "document.tracking.current_release_date", "linked_record": true}, {"timestamp": "2026-11-11T11:56:32Z", "date_only": false, "value": "2026-11-11T11:56:32Z", "kind": "other", "label": "Updated", "source": "cleanstart \u00b7 CLEANSTART-2026-GM81315", "record": "CLEANSTART-2026-GM81315", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-12T00:40:00.513Z", "date_only": false, "value": "2026-11-12T00:40:00.513455Z", "kind": "milestone", "label": "Published", "source": "cleanstart \u00b7 CLEANSTART-2026-GM81315", "record": "CLEANSTART-2026-GM81315", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}], "metrics": {"as_of": "2026-11-13T18:00:49.671Z", "anchors": {"origin": {"timestamp": "2026-10-29T20:41:02.879Z", "date_only": false, "value": "2026-10-29T20:41:02.879Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119208", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-10-29T20:41:02.879Z", "date_only": false, "value": "2026-10-29T20:41:02.879Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119208", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 1286386.792743, "hours": 357.3296646508333, "days": 14.888736027118055, "min_seconds": 1286386.792743, "max_seconds": 1286386.792743, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-10-29T20:41:02.879Z", "date_only": false, "value": "2026-10-29T20:41:02.879Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119208", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-13T18:00:49.671Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
