{"answers":{"affected":"2 open source packages ship an affected version, including russh.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-68930 exists.","fix":"Upgrade russh to 0.62.5 or later.","what":"CVE-2026-68930 is a medium-severity missing authorization vulnerability in Eugeny russh, published on 3 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-68930 and fix it if it is affected.\n\nWhat it is: CVE-2026-68930 is a medium-severity missing authorization vulnerability in Eugeny russh, published on 3 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-68930 exists.\n\nAffected packages and fixed versions:\n- russh (crates.io): affected all versions; fixed in 0.62.5\n- russh (crates.io): affected all versions; fixed in 0.62.5\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-68930/ (Markdown: https://insights.sbomify.com/CVE-2026-68930/index.md)","id":"CVE-2026-68930","markdown":"https://insights.sbomify.com/CVE-2026-68930/index.md","name":"CVE-2026-68930","record":{"aliases":["DEBIAN-CVE-2026-68930","GHSA-m65r-rprj-r5rg"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Rust SSH library","requires_auth":"low_privilege","summary":"Attackers can trigger server callbacks for non-existent SSH channels, bypassing channel state checks in the Russh library.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":6.5,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-863","name":"Incorrect Authorization"},{"id":"CWE-696","name":"Incorrect Behavior Order"},{"id":"CWE-666","name":"Operation on Resource in Wrong Phase of Lifetime"}],"description":"Russh is a Rust SSH client \u0026 server library. Prior to 0.62.5, russh dispatches channel-scoped Handler callbacks for recipient channel IDs that were never opened or confirmed in russh/src/server/encrypted.rs, server_read_authenticated, and the exec_request callback. Version 0.62.5 fixes the issue.","ecosystems":["crates.io"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Russh: Channel-scoped server callbacks can be reached without an open channel","id":"CVE-2026-68930","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":2,"n_references":3,"next":{"headline":"Command injection in pyenv","id":"CVE-2026-68939"},"packages":[{"ecosystem":"crates.io","fixed":["0.62.5"],"introduced":["0"],"last_affected":[],"package":"russh","purl":null,"source":"GHSA-m65r-rprj-r5rg"},{"ecosystem":"crates.io","fixed":["0.62.5"],"introduced":["0"],"last_affected":[],"package":"russh","purl":"pkg:cargo/russh","source":"GHSA-m65r-rprj-r5rg"}],"prev":{"headline":"FastGPT: Unauthenticated WeChat channel hijack and denial of service via shareId-only authorization","id":"CVE-2026-68929"},"products":["russh"],"published":"2026-08-03","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-08-03","vendors":["Eugeny"]},"summary":"Attackers can trigger server callbacks for non-existent SSH channels, bypassing channel state checks in the Russh library.","url":"https://insights.sbomify.com/CVE-2026-68930/"}