{"items":[{"id":"NVI-00013160","kind":"vulnerability","title":"urllib3: Chunked Deflate streaming can enter an infinite loop","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-gh4c-6fx4-qh6g","CVE-2026-97688"],"plain_summary":"GitHub lists this reviewed advisory for urllib3. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-577da3ed010ca7f863f469924e212371"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-13T20:21:30.583Z","value":"5.3 MEDIUM (3.1)","meaning":"nvd@nist.gov severity; no combined Null risk score.","source_id":"sr-577da3ed010ca7f863f469924e212371"},{"kind":"CVSS","as_of":"2026-10-13T20:21:30.583Z","value":"6.9 MEDIUM (4.0)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-577da3ed010ca7f863f469924e212371"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-7c7ae47ce0ed2e2b3b9f42a69e96ba18","url":"https://github.com/advisories/GHSA-gh4c-6fx4-qh6g","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-gh4c-6fx4-qh6g","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T07:24:25.558Z"},{"id":"sr-577da3ed010ca7f863f469924e212371","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97688","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-97688","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-04T09:59:59.040Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-7c7ae47ce0ed2e2b3b9f42a69e96ba18"],"technology":"urllib3","known_exclusions":[],"conditions_summary":"### Impact\n\nurllib3's streaming API is designed for the efficient handling of large HTTP responses by reading content in chunks instead of loading the entire response body into memory at once.\n\nurllib3 can decompress response bodies according to the HTTP `Content-Encoding` header. When streaming a compressed, chunked response, urllib3 first consumes data already buffered by the decoder before reading the next HTTP chunk.\n\nHowever, urllib3 versions from 2.6.2 through 2.7.0 could enter an infinite loop when a chunked response contained bytes after the end of the Deflate stream. If the decompressed body exceeded the requested streaming chunk size, Python's zlib implementation could retain the trailing bytes as unconsumed input after reaching the end of the compressed stream. urllib3 would repeatedly attempt to decode those same bytes without making progress or reading more data from the network.\n\nA malicious server could exploit this behavior to cause excessive CPU usage and prevent the affected request from completing on the client. Network read timeouts would not interrupt the loop because no further socket operation was required.\n\n### Affected usages\n\nApplications and libraries usi","public_affected_ranges":[">= 2.6.2, < 2.8.0"]}],"null_published_at":"2026-11-05T19:10:23.276Z","source_updated_at":"2026-09-30T15:00:39.000Z","source_disclosed_at":"2026-09-30T15:00:38.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-11-01T07:24:25.558Z"},{"id":"NVI-00013160","kind":"vulnerability","title":"urllib3: Chunked Deflate streaming can enter an infinite loop","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-gh4c-6fx4-qh6g","CVE-2026-97688"],"plain_summary":"GitHub lists this reviewed advisory for urllib3. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-7c7ae47ce0ed2e2b3b9f42a69e96ba18"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-7c7ae47ce0ed2e2b3b9f42a69e96ba18","url":"https://github.com/advisories/GHSA-gh4c-6fx4-qh6g","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-gh4c-6fx4-qh6g","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T07:24:25.558Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-7c7ae47ce0ed2e2b3b9f42a69e96ba18"],"technology":"urllib3","known_exclusions":[],"conditions_summary":"### Impact\n\nurllib3's streaming API is designed for the efficient handling of large HTTP responses by reading content in chunks instead of loading the entire response body into memory at once.\n\nurllib3 can decompress response bodies according to the HTTP `Content-Encoding` header. When streaming a compressed, chunked response, urllib3 first consumes data already buffered by the decoder before reading the next HTTP chunk.\n\nHowever, urllib3 versions from 2.6.2 through 2.7.0 could enter an infinite loop when a chunked response contained bytes after the end of the Deflate stream. If the decompressed body exceeded the requested streaming chunk size, Python's zlib implementation could retain the trailing bytes as unconsumed input after reaching the end of the compressed stream. urllib3 would repeatedly attempt to decode those same bytes without making progress or reading more data from the network.\n\nA malicious server could exploit this behavior to cause excessive CPU usage and prevent the affected request from completing on the client. Network read timeouts would not interrupt the loop because no further socket operation was required.\n\n### Affected usages\n\nApplications and libraries usi","public_affected_ranges":[">= 2.6.2, < 2.8.0"]}],"null_published_at":"2026-11-01T07:29:12.927Z","source_updated_at":"2026-09-30T15:00:39.000Z","source_disclosed_at":"2026-09-30T15:00:38.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T07:24:25.558Z"}],"next_cursor":null,"snapshot_revision":"42594"}