{"schema":"threatline.record/2","record":{"id":"CVE-2026-110314","aliases":["GHSA-2v5v-8f9v-xh85"],"summary":"WebSocket frames keep reaching the WebSock after a server-initiated close in Bandit","details":"Client-Side Enforcement of Server-Side Security vulnerability in the WebSocket connection handling of mtrudel bandit allows a remote client to keep running WebSock handler code after the server has stopped its connection, via data frames sent after ignoring the server's Close frame.\n\nWhen a WebSock callback returns {:stop, ...}, Bandit.WebSocket.Connection calls terminate/2, sends Close and shuts down the write side, but keeps the connection process running in a :closing state. handle_frame/3 and handle_info/3 never check that state, so later frames still reach handle_in/2 and later messages reach handle_info/2, with the state from the stop tuple, until the client sends Close, TCP drops or the idle timeout fires. A client refused in init/1 after a failed token check could still run an admin-only action.\n\nThis issue affects bandit: from 0.5.1 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-110314","source_modified_at":"2026-10-26T13:31:18.257Z","fetched_at":"2026-10-26T19:10:57.178988Z","product":"bandit","vendor":"mtrudel","versions":[{"lessThan":"1.14.0","status":"affected","version":"0.5.1","versionType":"semver"}],"defaultStatus":"unaffected"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-110314","source_modified_at":"2026-10-26T13:31:18.257Z","fetched_at":"2026-10-26T19:10:57.178988Z","product":"bandit","vendor":"mtrudel","versions":[{"lessThan":"220b9dfd27f9a21305be2afc75cbe585ddc24e7a","status":"affected","version":"bb407f2277dcb65a58dd8cc07913a0b58a80e266","versionType":"git"}],"defaultStatus":"unaffected"}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-110314","source_modified_at":"2026-10-26T13:31:18.257Z","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-110314","source_modified_at":"2026-10-26T13:31:18.257Z","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":6.3,"severity":"Medium","kev":{"listed":false},"epss":{"probability":null,"percentile":null,"score_date":null},"published_at":"2026-10-26T13:31:18.257Z","modified_at":"2026-10-26T13:31:18.257Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-110314","fetched_at":"2026-10-26T19:10:57.178988Z","source_modified_at":"2026-10-26T13:31:18.257Z"}],"sources":["CVE List"],"references":[{"source":"CVE List","url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-2v5v-8f9v-xh85","tags":["vendor-advisory","related"]},{"source":"CVE List","url":"https://cna.erlef.org/cves/CVE-2026-110314.html","tags":["related"]},{"source":"CVE List","url":"https://osv.dev/vulnerability/EEF-CVE-2026-110314","tags":["related"]},{"source":"CVE List","url":"https://github.com/mtrudel/bandit/commit/bb407f2277dcb65a58dd8cc07913a0b58a80e266","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","classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-26T13:31:18.257Z","content_hash":"6fe4f9172c2701aeedfdde21b84fbc3841f774a298f0fcb27a300bb86fe875a1"}}
