{"metadata": {"vulnerability": "CVE-2026-119203", "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-119203", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-10-29T20:30:13.426Z", "date_only": false, "value": "2026-10-29T20:30:13.426Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119203", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-29T20:30:13.426Z", "date_only": false, "value": "2026-10-29T20:30:13.426Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / GitHub_M", "record": "CVE-2026-119203", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-29T20:34:32.765Z", "date_only": false, "value": "2026-10-29T20:34:32.765381Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117526106561362682", "record": "CVE-2026-119203", "field": "creation_timestamp", "uuid": "1d649bfb-3689-4aae-9529-454758b32752", "content": "CVE-2026-119203 pypdf: Possible infinite loop when hitting EOF in standard xref table during trailer search pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose standard cross-reference table reaches the end of the file without a trailer. The trailer search can repeatedly rewind to the same stream position instead of terminating when parsing makes no progress, blocking the processing thread. This issue is fixed in version 6.21.4.\nhttps://www.cve.org/CVERecord?id=CVE-2026-119203https://github.com/py-pdf/pypdf/security/advisories/GHSA-5849-834g-hvw5https://github.com/py-pdf/pypdf/pull/4289https://github.com/py-pdf/pypdf/commit/06593f993789a4b573dd955730c1a7051128bb2ahttps://github.com/py-pdf/pypdf/releases/tag/6.21.4#py-pdf #pypdf#CVE_2026_119203#bot", "url": "https://infosec.exchange/users/cve/statuses/117526106561362682"}, {"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-119203", "record": "UBUNTU-CVE-2026-119203", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-29T21:17:19Z", "date_only": false, "value": "2026-10-29T21:17:19Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-5849-834G-HVW5", "record": "GHSA-5849-834G-HVW5", "field": "database_specific.nvd_published_at", "linked_record": true}, {"timestamp": "2026-10-29T21:17:19.377Z", "date_only": false, "value": "2026-10-29T21:17:19.377", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-119203", "record": "FKIE_CVE-2026-119203", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-30T17:10:48.181Z", "date_only": false, "value": "2026-10-30T17:10:48.181038Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-119203", "field": "containers.adp.0.metrics.0.other.content.timestamp"}, {"timestamp": "2026-10-30T17:10:48.181Z", "date_only": false, "value": "2026-10-30T17:10:48.181038Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-119203", "record": "FKIE_CVE-2026-119203", "field": "metrics.ssvcV203.0.ssvcData.timestamp", "linked_record": true}, {"timestamp": "2026-10-30T17:11:01.881Z", "date_only": false, "value": "2026-10-30T17:11:01.881Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-119203", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-10-30T17:11:01.881Z", "date_only": false, "value": "2026-10-30T17:11:01.881Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-119203", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-30T23:13:16Z", "date_only": false, "value": "2026-10-30T23:13:16Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-5849-834G-HVW5", "record": "GHSA-5849-834G-HVW5", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-30T23:13:16Z", "date_only": false, "value": "2026-10-30T23:13:16Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-5849-834G-HVW5", "record": "GHSA-5849-834G-HVW5", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-31T02:30:50Z", "date_only": false, "value": "2026-10-31T02:30:50.000000Z", "kind": "sighting", "label": "Seen", "source": "https://gist.github.com/alon710/c08d566c6eacb5d47a5a8900b8eb0789", "record": "CVE-2026-119203", "field": "creation_timestamp", "uuid": "b5d2dfa0-bac1-41b8-b6ad-308e170443fb", "content": "# CVE-2026-119203: CVE-2026-119203: Infinite Loop in pypdf Standard Cross-Reference Table Parser\n\n&gt; **CVSS Score:** 7.1\n&gt; **Published:** 2026-10-30\n&gt; **Full Report:** https://cvereports.com/reports/CVE-2026-119203\n\n## Summary\nCVE-2026-119203 is a denial-of-service vulnerability affecting the pypdf library in versions prior to 6.21.4. The flaw occurs within the standard cross-reference (xref) table parsing routine when processing truncated or malformed PDF streams that terminate before a valid trailer dictionary is encountered. Because the parser attempts to rewind the stream pointer by a fixed offset whenever the trailer token is absent without verifying forward progress, hitting the end-of-file (EOF) or non-advancing tokens causes the parser to re-read the same byte offset indefinitely. An unauthenticated attacker can exploit this flaw by supplying a crafted PDF document to an application using pypdf, resulting in continuous CPU consumption and thread exhaustion.\n\n## TL;DR\nVersions of the Python pypdf library prior to 6.21.4 contain an infinite loop vulnerability (CWE-835) in the _read_standard_xref_table method. Processing a malformed PDF with an incomplete cross-reference table that lacks a trailer causes the parser to repeatedly seek backward to the same byte position, hanging the executing thread and causing a denial of service.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **Vulnerability ID**: CVE-2026-119203 / GHSA-5849-834g-hvw5\n- **Weakness Class**: CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')\n- **CVSS v4.0 Score**: 7.1 (High) - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N\n- **Affected Component**: pypdf._reader.PdfReader._read_standard_xref_table (&lt; 6.21.4)\n- **Patched Version**: pypdf 6.21.4\n- **Primary Impact**: Denial of Service via CPU and worker thread exhaustion\n- **EPSS Score**: 0.30% (23.18th Percentile)\n- **CISA KEV Status**: Not Listed\n\n## Affected Systems\n\n- pypdf (PyPI package) &lt; 6.21.4\n- **pypdf**: &lt; 6.21.4 (Fixed in: `6.21.4`)\n\n## Mitigation\n\n- Upgrade the pypdf package to version 6.21.4 or later across all environments processing PDF documents.\n- Isolate untrusted PDF parsing tasks in dedicated subprocesses or task queues with strict CPU and wall-clock execution timeouts.\n- Implement exception handling for pypdf.errors.PdfReadError to gracefully reject malformed or truncated PDF uploads.\n\n**Remediation Steps:**\n1. Audit application dependencies (requirements.txt, pyproject.toml, poetry.lock, Pipfile.lock) to identify any installations of pypdf prior to version 6.21.4.\n2. Run `pip install --upgrade \"pypdf&gt;=6.21.4\"` to install the patched release.\n3. Verify that application error handlers catch `pypdf.errors.PdfReadError` when opening untrusted streams with `PdfReader`.\n4. Configure process supervisors (e.g., Gunicorn `--timeout`, Celery `--time-limit`, or container health checks) to terminate hung worker processes.\n\n## References\n\n- [GitHub Security Advisory GHSA-5849-834g-hvw5](https://github.com/py-pdf/pypdf/security/advisories/GHSA-5849-834g-hvw5)\n- [Pull Request #4289: SEC: Detect EOF when reading standard xref table trailer](https://github.com/py-pdf/pypdf/pull/4289)\n- [Official Security Fix Commit (06593f993789a4b573dd955730c1a7051128bb2a)](https://github.com/py-pdf/pypdf/commit/06593f993789a4b573dd955730c1a7051128bb2a)\n- [pypdf Release 6.21.4](https://github.com/py-pdf/pypdf/releases/tag/6.21.4)\n- [CVE.org Record: CVE-2026-119203](https://www.cve.org/CVERecord?id=CVE-2026-119203)\n- [NVD Vulnerability Detail: CVE-2026-119203](https://nvd.nist.gov/vuln/detail/CVE-2026-119203)\n- [cvelistV5 JSON Entry for CVE-2026-119203](https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/119xxx/CVE-2026-119203.json)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/CVE-2026-119203) - Automated Vulnerability Intelligence*", "url": "https://gist.github.com/alon710/c08d566c6eacb5d47a5a8900b8eb0789"}, {"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-119203", "record": "BREW-RAPID-MLX-CVE-2026-119203", "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-119203", "record": "BREW-PSUTILS-CVE-2026-119203", "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-119203", "record": "BREW-PDFLY-CVE-2026-119203", "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-119203", "record": "BREW-PDFALYZER-CVE-2026-119203", "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-119203", "record": "BREW-PDFALYZER-CVE-2026-119203", "field": "modified", "linked_record": true}, {"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-119203", "record": "BREW-RAPID-MLX-CVE-2026-119203", "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-119203", "record": "BREW-PDFLY-CVE-2026-119203", "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-119203", "record": "BREW-PSUTILS-CVE-2026-119203", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-02T16:06:04.477Z", "date_only": false, "value": "2026-11-02T16:06:04.477", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-119203", "record": "FKIE_CVE-2026-119203", "field": "lastModified", "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-02T19:58:22.591Z", "date_only": false, "value": "2026-11-02T19:58:22.591704Z", "kind": "sighting", "label": "Seen", "source": "https://bsky.app/profile/cvesentinel.bsky.social/post/7o7rgxjfmsw6n", "record": "CVE-2026-119203", "field": "creation_timestamp", "uuid": "4bd635e8-c081-4e80-9fb3-a1433e766dab", "content": "\ud83d\udea8 CVE-2026-119203\npy-pdf pypdf\nCVSS 7.1 / EPSS 0.3% / KEV: No\nTL;DR: pypdf is a free and open-source pure-python PDF library. Prior to 6.21.4, pypdf can enter an infinite loop while opening a crafted incomplete PDF whose\u2026\nhttps://cvesentinel.com/report/CVE-2026-119203\n#infosec #CVE #vulnerability", "url": "https://bsky.app/profile/cvesentinel.bsky.social/post/7o7rgxjfmsw6n"}, {"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-119203", "record": "UBUNTU-CVE-2026-119203", "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-QD20147", "record": "CLEANSTART-2026-QD20147", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-12T00:39:59.965Z", "date_only": false, "value": "2026-11-12T00:39:59.965789Z", "kind": "milestone", "label": "Published", "source": "cleanstart \u00b7 CLEANSTART-2026-QD20147", "record": "CLEANSTART-2026-QD20147", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}], "metrics": {"as_of": "2026-11-15T06:50:53.513Z", "anchors": {"origin": {"timestamp": "2026-10-29T20:30:13.426Z", "date_only": false, "value": "2026-10-29T20:30:13.426Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119203", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-10-29T20:30:13.426Z", "date_only": false, "value": "2026-10-29T20:30:13.426Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119203", "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": 1419640.087014, "hours": 394.344468615, "days": 16.431019525625, "min_seconds": 1419640.087014, "max_seconds": 1419640.087014, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-10-29T20:30:13.426Z", "date_only": false, "value": "2026-10-29T20:30:13.426Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-119203", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-15T06:50:53.513Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
