{"id":4302626,"name":"websocket","ecosystem":"cargo","description":"[deprecated] A WebSocket (RFC6455) library for Rust.","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/websockets-rs/rust-websocket","keywords_array":["websocket","websockets","rfc6455","async","tokio"],"namespace":null,"versions_count":79,"first_release_published_at":"2014-11-29T04:22:28.784Z","latest_release_published_at":"2024-03-31T19:44:33.867Z","latest_release_number":"0.27.1","last_synced_at":"2026-08-18T09:01:05.200Z","created_at":"2022-04-13T08:47:09.036Z","updated_at":"2026-08-18T10:22:25.567Z","registry_url":"https://crates.io/crates/websocket/","install_command":"cargo install websocket","documentation_url":"https://docs.rs/websocket/","metadata":{"categories":["asynchronous","network-programming","web-programming","web-programming::websocket"]},"repo_metadata":{"id":23835514,"uuid":"27212799","full_name":"websockets-rs/rust-websocket","owner":"websockets-rs","description":"A WebSocket (RFC6455) library written in Rust","archived":false,"fork":false,"pushed_at":"2023-09-17T12:52:17.000Z","size":22471,"stargazers_count":1612,"open_issues_count":45,"forks_count":224,"subscribers_count":32,"default_branch":"master","last_synced_at":"2026-08-11T12:40:22.230Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://websockets-rs.github.io/rust-websocket/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/websockets-rs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null}},"created_at":"2014-11-27T06:49:59.000Z","updated_at":"2026-08-07T08:58:18.000Z","dependencies_parsed_at":"2024-01-30T04:03:18.633Z","dependency_job_id":null,"html_url":"https://github.com/websockets-rs/rust-websocket","commit_stats":{"total_commits":486,"total_committers":66,"mean_commits":7.363636363636363,"dds":0.6728395061728395,"last_synced_commit":"74c82be3de282e1c4c35c51daac1a84b583ce8ea"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/websockets-rs/rust-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/websockets-rs","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36709422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-16T02:00:06.462Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"websockets-rs","name":"Rust Websockets","uuid":"40836418","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/40836418?v=4","repositories_count":2,"last_synced_at":"2024-03-25T20:24:01.079Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/websockets-rs","funding_links":[],"total_stars":1454,"followers":6,"following":0,"created_at":"2022-11-02T16:31:45.380Z","updated_at":"2024-03-25T20:24:01.110Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/websockets-rs","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/websockets-rs/repositories"},"tags":[{"name":"v0.27.0","sha":"2bbeca93954298aac87adbdff958ff9cfa9a4af2","kind":"tag","published_at":"2023-09-17T12:51:59.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.27.0","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.27.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.27.0/manifests"},{"name":"v0.26.5","sha":"74c82be3de282e1c4c35c51daac1a84b583ce8ea","kind":"tag","published_at":"2022-07-24T18:55:32.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.26.5","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.26.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.26.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.5/manifests"},{"name":"v0.26.4","sha":"d0adc933ca549092ac243e104c3f9e7278d87fef","kind":"tag","published_at":"2022-03-31T18:40:59.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.26.4","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.26.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.26.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.4/manifests"},{"name":"v0.26.3","sha":"bf571ca9130c15228c304a7d26599592ba46c9d2","kind":"tag","published_at":"2022-02-06T12:45:42.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.26.3","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.26.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.26.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.3/manifests"},{"name":"v0.26.2","sha":"482afb593a8b8f83b5d585aa31a50091d501f34d","kind":"tag","published_at":"2020-07-08T19:08:12.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.26.2","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.26.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.26.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.2/manifests"},{"name":"v0.26.1","sha":"420cfde0290d43b534d44d5a18e53acc47294953","kind":"tag","published_at":"2020-07-06T19:30:37.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.26.1","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.26.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.26.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.26.1/manifests"},{"name":"v0.24.0","sha":"d516fba499ce55c5869ab39abc14156001dab637","kind":"tag","published_at":"2019-11-07T19:56:57.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.24.0","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.24.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.24.0/manifests"},{"name":"v0.23.0","sha":"cf9346091362434fafb7785009c5c99a1cb11ff3","kind":"tag","published_at":"2019-07-13T21:11:36.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.23.0","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.23.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.23.0/manifests"},{"name":"v0.22.4","sha":"a16141caaf440c6cf14d39cfd6b603432953a958","kind":"tag","published_at":"2019-04-30T16:30:32.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.22.4","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.22.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.22.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.4/manifests"},{"name":"v0.22.3","sha":"d1d9fbfc691fc0841e0f68575eddd8ea420c15c8","kind":"tag","published_at":"2019-02-28T00:32:39.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.22.3","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.22.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.22.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.3/manifests"},{"name":"v0.22.2","sha":"ad7df37bd9e1b2590017cc24fb48abf1c64cc8f7","kind":"tag","published_at":"2019-01-15T21:55:12.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.22.2","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.22.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.22.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.2/manifests"},{"name":"v0.22.1","sha":"05e7a924c7bd7d869301757fefbf6be4c004e6b7","kind":"tag","published_at":"2018-12-30T21:02:00.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.22.1","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.22.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.22.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.1/manifests"},{"name":"v0.22.0","sha":"94f41bc855fb7f1468abf0d7dbe8f5f0a5323573","kind":"tag","published_at":"2018-12-16T14:33:35.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.22.0","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.22.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.22.0/manifests"},{"name":"v0.21.1","sha":"2f9ab02e124f9b64352d40bd85b9392d36d92a66","kind":"tag","published_at":"2018-10-31T17:24:03.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.21.1","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.21.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.21.1/manifests"},{"name":"v0.21.0","sha":"e72b7ba5889982ac9391d9bc1fa433ffb263db56","kind":"tag","published_at":"2018-10-31T02:14:45.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.21.0","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.21.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.21.0/manifests"},{"name":"v0.20.4","sha":"c8790ddbffe0b31043d94030117d22846d806e64","kind":"tag","published_at":"2018-10-30T17:39:12.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.20.4","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.20.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.20.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.4/manifests"},{"name":"v0.20.3","sha":"00aef66fe5f1a3536183ee298a962384f9cba975","kind":"tag","published_at":"2018-07-12T00:59:17.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.20.3","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.20.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.20.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.3/manifests"},{"name":"v0.20.2","sha":"7ce230cce357c201a02e4ca3d0ef518f1fc74af6","kind":"commit","published_at":"2017-06-19T22:54:26.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.20.2","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.20.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.20.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.2/manifests"},{"name":"v0.20.1","sha":"a802151c47ed578e7077767d68aa59143edcf967","kind":"commit","published_at":"2017-05-29T02:36:15.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.20.1","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.20.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.1/manifests"},{"name":"v0.20.0","sha":"f2c9e8fa4fdb05e817a4359c9aa45d3ae8b6d097","kind":"commit","published_at":"2017-05-29T00:52:10.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.20.0","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.20.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.20.0/manifests"},{"name":"v0.19.2","sha":"7435863b0d10bde865ff5aaf66cd85116f83426d","kind":"commit","published_at":"2017-05-19T16:57:22.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.19.2","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.19.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.19.2/manifests"},{"name":"v0.19.1","sha":"9cacbd3a1ec81f635676f5245786b95f2d2f4790","kind":"commit","published_at":"2017-04-10T01:46:09.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.19.1","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.19.1/manifests"},{"name":"v0.19.0","sha":"776e8217e2475b96ace5c99b3a658b639917d688","kind":"commit","published_at":"2017-04-03T00:40:25.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.19.0","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.19.0/manifests"},{"name":"v0.18.1","sha":"625b5a2d20f9632d463da19d7ecd6f70b83c48fb","kind":"tag","published_at":"2017-03-24T09:51:31.000Z","download_url":"https://codeload.github.com/websockets-rs/rust-websocket/tar.gz/v0.18.1","html_url":"https://github.com/websockets-rs/rust-websocket/releases/tag/v0.18.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/websockets-rs/rust-websocket@v0.18.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.18.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/tags/v0.18.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:22:25.567Z","dependent_packages_count":86,"downloads":2550222,"downloads_period":"total","dependent_repos_count":991,"rankings":{"downloads":1.6991089582585814,"dependent_repos_count":1.3231072838177251,"dependent_packages_count":0.6338954670493959,"stargazers_count":4.362516445401267,"forks_count":3.1866702547542163,"docker_downloads_count":2.8517820834828367,"average":2.342846748794004},"purl":"pkg:cargo/websocket","advisories":[{"uuid":"GSA_kwCzR0hTQS1xcmp2LXJmNXEtcXB4Y84AAt2X","url":"https://github.com/advisories/GHSA-qrjv-rf5q-qpxc","title":"Rust-WebSocket memory allocation based on untrusted length","description":"## Impact\nUntrusted websocket connections can cause an out-of-memory (OOM) process abort in a client or a server.\nThe root cause of the issue is during dataframe parsing.\nAffected versions would allocate a buffer based on the declared dataframe size, which may come from an untrusted source.\nWhen `Vec::with_capacity` fails to allocate, the default Rust allocator will abort the current process, killing all threads. This affects only sync (non-Tokio) implementation. Async version also does not limit memory, but does not use `with_capacity`, so DoS can happen only when bytes for oversized dataframe or message actually got delivered by the attacker.\n\nThis is a security concern for you, if\n- your server application handles untrusted websocket connections\n- OR your client application connects to untrusted websocket servers\n\n## Patches\nThe crashes are fixed in version **0.26.5** by imposing default dataframe size limits.\nAffected users are advised to update to this version.\n\nNote that default memory limits are rather large (100MB dataframes and 200 MB messages), so they can still cause DoS in some environments (i.e. 32-bit). New API has been added to fine tune those limits for specific applications.\n\n### Workarounds\n\n* Migrate your project to another, maintained Websocket library like Tungstenite.\n* Accept only trusted WebSocket traffic.\n* Filter the WebSocket traffic though some kind of proxy that ensures sanity limits on messages.\n* Handle process aborts gracefully and limit process memory using OS tools.\n\n\n## Credits\nThis issue was reported by [Evan Richter](https://github.com/evanrichter) at ForAllSecure and found with [Mayhem](https://forallsecure.com/mayhem-for-code) and [Cargo Fuzz](https://github.com/rust-fuzz/cargo-fuzz).\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-08-06T05:20:00.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/websockets-rs/rust-websocket/security/advisories/GHSA-qrjv-rf5q-qpxc","https://nvd.nist.gov/vuln/detail/CVE-2022-35922","https://github.com/websockets-rs/rust-websocket/commit/cbf6e9983e839d2ecad86de8cd1b3f20ed43390b","https://rustsec.org/advisories/RUSTSEC-2022-0035.html","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4V2EOOU5OLEHVMKAH6BALQXKDKIZRXCI/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HYPNCM4H4OFBIZI6XMJ2DUTS54FT2TWP/","https://github.com/advisories/GHSA-qrjv-rf5q-qpxc"],"source_kind":"github","identifiers":["GHSA-qrjv-rf5q-qpxc","CVE-2022-35922"],"repository_url":"https://github.com/websockets-rs/rust-websocket","blast_radius":0.0,"created_at":"2022-12-21T16:12:09.100Z","updated_at":"2026-07-31T14:13:32.847Z","epss_percentage":0.01781,"epss_percentile":0.75996,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xcmp2LXJmNXEtcXB4Y84AAt2X","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1xcmp2LXJmNXEtcXB4Y84AAt2X","packages":[{"ecosystem":"cargo","package_name":"websocket","versions":[{"first_patched_version":"0.26.5","vulnerable_version_range":"\u003c 0.26.5"}],"purl":"pkg:cargo/websocket"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xcmp2LXJmNXEtcXB4Y84AAt2X/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/cargo/websocket","docker_dependents_count":32,"docker_downloads_count":23282596,"usage_url":"https://repos.ecosyste.ms/usage/cargo/websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cargo/websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-26T23:13:01.477Z","issues_count":98,"pull_requests_count":66,"avg_time_to_close_issue":15388668.607142856,"avg_time_to_close_pull_request":4099224.3846153845,"issues_closed_count":56,"pull_requests_closed_count":65,"pull_request_authors_count":30,"issue_authors_count":59,"avg_comments_per_issue":4.704081632653061,"avg_comments_per_pull_request":2.696969696969697,"merged_pull_requests_count":57,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/websockets-rs%2Frust-websocket/issues","maintainers":[{"login":"vi","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/vi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/websocket/codemeta","maintainers":[{"uuid":"486","login":"cyderize","name":"Jason N","email":null,"url":"https://github.com/cyderize","packages_count":3,"html_url":"https://crates.io/users/cyderize","role":null,"created_at":"2022-11-08T03:33:06.555Z","updated_at":"2022-11-08T03:33:06.555Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers/cyderize/packages"},{"uuid":"1987","login":"illegalprime","name":"Michael Eden","email":null,"url":"https://github.com/illegalprime","packages_count":2,"html_url":"https://crates.io/users/illegalprime","role":null,"created_at":"2022-11-08T03:33:06.565Z","updated_at":"2022-11-08T03:33:06.565Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers/illegalprime/packages"}]}