{"schema":"threatline.record/2","record":{"id":"CVE-2026-110499","aliases":["GHSA-47x4-3fxf-82fr"],"summary":"Client-chosen HPACK encoder table size is applied uncapped, growing per-connection state with every response in Bandit","details":"Allocation of Resources Without Limits or Throttling vulnerability in the HTTP/2 implementation of mtrudel bandit allows an unauthenticated remote attacker to grow per-connection memory and CPU cost without bound via a large SETTINGS_HEADER_TABLE_SIZE. Bandit resizes its HPACK encoder table to whatever size the client advertises, up to 2^32-1 bytes, and indexes response headers into it. Because responses carry distinct values such as date or content-length, nothing is evicted and the table grows with every response for the life of the connection, while each lookup scans it linearly.\n\nThe SETTINGS handling in Bandit.HTTP2.Connection (lib/bandit/http2/connection.ex) passes remote_settings.header_table_size to HPAX.resize/2 with no server-side cap, and encode_headers encodes every response header as :store. Serving N responses on one connection therefore costs O(N²) CPU in the connection process.\n\nThis issue affects bandit: from 0.3.6 before 1.14.0.","categories":["Unclassified"],"product":"bandit","vendor":"mtrudel","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-110499","source_modified_at":"2026-10-26T15:35:50.929Z","fetched_at":"2026-10-26T19:10:57.178988Z","product":"bandit","vendor":"mtrudel","versions":[{"lessThan":"1.14.0","status":"affected","version":"0.3.6","versionType":"semver"}],"defaultStatus":"unaffected"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-110499","source_modified_at":"2026-10-26T15:35:50.929Z","fetched_at":"2026-10-26T19:10:57.178988Z","product":"bandit","vendor":"mtrudel","versions":[{"lessThan":"220b9dfd27f9a21305be2afc75cbe585ddc24e7a","status":"affected","version":"0e68313fab9d204257ebad5c447e4cd9cea8e0ea","versionType":"git"}],"defaultStatus":"unaffected"}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-110499","source_modified_at":"2026-10-26T15:35:50.929Z","fetched_at":"2026-10-26T19:10:57.178988Z","package":{"name":"bandit","ecosystem":null},"version":"1.14.0","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-110499","source_modified_at":"2026-10-26T15:35:50.929Z","fetched_at":"2026-10-26T19:10:57.178988Z","package":{"name":"bandit","ecosystem":null},"version":"220b9dfd27f9a21305be2afc75cbe585ddc24e7a","basis":"first unaffected version stated in the CVE record"}],"cvss":8.7,"severity":"High","kev":{"listed":false},"epss":{"probability":null,"percentile":null,"score_date":null},"published_at":"2026-10-26T13:32:38.613Z","modified_at":"2026-10-26T15:35:50.929Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-110499","fetched_at":"2026-10-26T19:10:57.178988Z","source_modified_at":"2026-10-26T15:35:50.929Z"}],"sources":["CVE List"],"references":[{"source":"CVE List","url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-47x4-3fxf-82fr","tags":["vendor-advisory","related"]},{"source":"CVE List","url":"https://cna.erlef.org/cves/CVE-2026-110499.html","tags":["related"]},{"source":"CVE List","url":"https://osv.dev/vulnerability/EEF-CVE-2026-110499","tags":["related"]},{"source":"CVE List","url":"https://github.com/mtrudel/bandit/commit/0e68313fab9d204257ebad5c447e4cd9cea8e0ea","tags":["related"]},{"source":"CVE List","url":"https://github.com/mtrudel/bandit/commit/220b9dfd27f9a21305be2afc75cbe585ddc24e7a","tags":["patch"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"none","automatable":"yes","technical_impact":"partial","assessed_at":"2026-10-26T15:02:00.207666Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-26T15:35:50.929Z","content_hash":"97654407e6c484331601c6c02c4cf2adbbaa4fb7018026a8b00c1109bc3f1b59"}}
