CVE-2026-59845: libssh denial of service via unchecked fork failure in ProxyCommand

CVE-2026-59845 · Severity: medium · CVSS 5.3 · Published 2026-07-21

A flaw in the libssh library, which is used to provide secure communication for applications, could allow a local user to cause a system-wide disruption. When the library fails to start a proxy connection, it may accidentally send shutdown signals to other unrelated programs running on the same system. This can lead to a denial of service where critical applications are unexpectedly terminated.

Technologies: Libssh, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9. Vendors: Libssh, Red Hat.

Quick answers

Is CVE-2026-59845 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-59845 being exploited in the wild.
How severe is CVE-2026-59845?
Medium severity, with a CVSS score of 5.3, published 21 July 2026.
Which products and versions are affected?
Libssh All versions using ProxyCommand; Red Hat Enterprise Linux 10 affected status; Red Hat Enterprise Linux 8 affected status; Red Hat Enterprise Linux 9 affected status.
Is there a fix for CVE-2026-59845?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-59845 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-59845?
Check whether you run Libssh, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8 or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A vulnerability exists in libssh within the `ssh_socket_connect_proxycommand()` function in `src/socket.c`. The library fails to check the return value of the `fork()` system call; if `fork()` fails, a value of -1 is stored as the proxy child process ID (PID). During subsequent cleanup operations, the library may attempt to send signals to this PID. Because a PID of -1 in signal operations (like `kill`) targets every process the caller has permission to signal, this results in the unintended termination of the caller's accessible process tree, leading to a local denial of service. Exploitation requires the use of the `ProxyCommand` configuration and a condition where `fork()` fails (e.g., resource exhaustion).

Affected products

  • libssh libssh All versions using ProxyCommand
  • Red Hat Enterprise Linux 8 affected status
  • Red Hat Enterprise Linux 9 affected status
  • Red Hat Enterprise Linux 10 affected status

Timeline

  • 2026-07-08: disclosed: Initial report in Red Hat Bugzilla
  • 2026-07-21: advisory: CVE published to NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.