{"answers":{"affected":"6 open source packages ship an affected version, including deepseek-tui and deepseek-tui-cli.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45310 exists.","fix":"Upgrade deepseek-tui to 0.8.22 or later.","what":"CVE-2026-45310 is a high-severity server-side request forgery vulnerability in Hmbown CodeWhale, published on 28 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-45310 and fix it if it is affected.\n\nWhat it is: CVE-2026-45310 is a high-severity server-side request forgery vulnerability in Hmbown CodeWhale, published on 28 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45310 exists.\n\nAffected packages and fixed versions:\n- deepseek-tui (crates.io): affected all versions; fixed in 0.8.22\n- deepseek-tui (crates.io): affected all versions; fixed in 0.8.22\n- deepseek-tui (npm): affected all versions; fixed in 0.8.22\n- deepseek-tui (npm): affected all versions; fixed in 0.8.22\n- deepseek-tui-cli (crates.io): affected all versions; fixed in 0.8.22\n- deepseek-tui-cli (crates.io): affected all versions; fixed in 0.8.22\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-45310/ (Markdown: https://insights.sbomify.com/CVE-2026-45310/index.md)","id":"CVE-2026-45310","markdown":"https://insights.sbomify.com/CVE-2026-45310/index.md","name":"CVE-2026-45310","record":{"aliases":["GHSA-96ff-gc8g-wpvg"],"analysis":{"component_type":"developer_tool","fix_type":"upgrade","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"CodeWhale coding agent","requires_auth":"none","summary":"Attackers can bypass SSRF protections in CodeWhale's fetch_url tool by using HTTP redirects to access internal network resources.","user_interaction":"required","vuln_class":"ssrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":7.4,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N","version":"3.1"},"cwes":[{"id":"CWE-918","name":"Server-Side Request Forgery"}],"description":"CodeWhale is a DeepSeek + MiMo coding agent in terminal. Prior to 0.8.22, the fetch_url tool validates the initial URL's resolved IP address against a restricted-IP blocklist (is_restricted_ip()) to prevent SSRF attacks against internal services (cloud metadata endpoints, localhost, private networks). However, the HTTP client (reqwest) is configured to automatically follow up to 5 redirects (reqwest::redirect::Policy::limited(5)) without re-validating the redirect target against the same SSRF protections. This vulnerability is fixed in 0.8.22.","ecosystems":["crates.io","npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"CodeWhale: SSRF via HTTP Redirect Bypass in fetch_url Tool","id":"CVE-2026-45310","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"ssrf","year":"2026"},"n_packages":6,"n_references":2,"next":{"headline":"CodeWhale: run_tests Tool Enables RCE via Malicious Repository Without Approval","id":"CVE-2026-45311"},"packages":[{"ecosystem":"crates.io","fixed":["0.8.22"],"introduced":["0"],"last_affected":[],"package":"deepseek-tui","purl":null,"source":"GHSA-96ff-gc8g-wpvg"},{"ecosystem":"crates.io","fixed":["0.8.22"],"introduced":["0"],"last_affected":[],"package":"deepseek-tui","purl":"pkg:cargo/deepseek-tui","source":"GHSA-96ff-gc8g-wpvg"},{"ecosystem":"crates.io","fixed":["0.8.22"],"introduced":["0"],"last_affected":[],"package":"deepseek-tui-cli","purl":null,"source":"GHSA-96ff-gc8g-wpvg"},{"ecosystem":"crates.io","fixed":["0.8.22"],"introduced":["0"],"last_affected":[],"package":"deepseek-tui-cli","purl":"pkg:cargo/deepseek-tui-cli","source":"GHSA-96ff-gc8g-wpvg"},{"ecosystem":"npm","fixed":["0.8.22"],"introduced":["0"],"last_affected":[],"package":"deepseek-tui","purl":null,"source":"GHSA-96ff-gc8g-wpvg"},{"ecosystem":"npm","fixed":["0.8.22"],"introduced":["0"],"last_affected":[],"package":"deepseek-tui","purl":"pkg:npm/deepseek-tui","source":"GHSA-96ff-gc8g-wpvg"}],"prev":{"headline":"AsyncSSH `AuthorizedKeysFile %u` path traversal allows attacker-selected authorized keys to authenticate a traversal username","id":"CVE-2026-45309"},"products":["CodeWhale"],"published":"2026-05-28","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-05-30","vendors":["Hmbown"]},"summary":"Attackers can bypass SSRF protections in CodeWhale's fetch_url tool by using HTTP redirects to access internal network resources.","url":"https://insights.sbomify.com/CVE-2026-45310/"}