AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 45 Bitcoin

Do not depend on SSH for host commands

Public commit record

What the developer wrote

Authored by Nicolas Dorier

45/100 · Thin
Do not depend on SSH for host commands
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
The short version

What changed, and why it matters

This commit rewrites how BTCPay Server performs host-level maintenance. Instead of the web application opening SSH connections directly to the host, it now runs a local helper program called 'btcpay-host'. The Docker image includes a wrapper that can still forward those calls over SSH, but the core application no longer needs SSH credentials or the SSH.NET library. The change removes a large amount of SSH-related code and adds a new plugin for maintenance actions. It is primarily an architectural/security-hardening change rather than a clear-cut fix for a single vulnerability.

Recommended action

Treat this as a security-hardening refactor. Review the new ProcessRunner for command-injection risks, verify that the Docker btcpay-host wrapper properly validates BTCPAY_SSHCONNECTION and restricts SSH key permissions, and ensure the Maintenance plugin authorization policy is enforced. If this change addresses a known security issue, request the vendor to publish a CVE or advisory.

Security signals we found

01

Removes direct SSH client from web application process

02

Removes SSH credential configuration options (sshpassword, sshkeyfile, sshkeyfilepassword, sshconnection, sshauthorizedkeys, sshtrustedfingerprints)

03

Replaces SSH-based host command execution with local executable invocation

04

Adds Docker-side wrapper that can still use SSH, but credentials live in container environment rather than app configuration

05

Maintenance actions moved to a plugin with authorization policy CanModifyServerSettings

06

ProcessRunner uses Process.Start with ArgumentList, not shell execution, for host commands

07

No explicit CVE, advisory, or security disclosure referenced in commit

Risk score

Why this scored 45/100

Our methodology →
Potential impact 12/30
Exploitability 8/25
Stealth signal 6/15
Affected reach 10/15
Confidence 6/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.