Rex: Missing SSH host key verification in rsync sync
Summary
Rex through 1.16.1 for Perl runs rsync transfers over SSH with StrictHostKeyChecking=no hardcoded in the sync command, so unknown host keys are accepted. Options set through set_openssh_opt do not reach this command, so host key checking cannot be restored by configuration. An attacker who can redirect the SSH connection before the real host key is known can receive the connection password under password authentication and can read, write or replace the transferred files.
Affected
- Rex for Perl, all versions through 1.16.1
- Affected code path: sync for remote rsync transfers (password, private key and fallback)
Fixed in
Unknown. No fixed CPAN release is currently available.
Workaround
- No configuration restores host key checking for sync; avoid Rex sync for remote transfers over untrusted networks
- Use scp or rsync invoked manually with a pinned host key in known_hosts and strict checking enabled
- Prefer key-based authentication and do not send passwords through this path
- Verify transferred files with checksums against a known-good copy
Exploitation
- CISA SSVC: exploitation none, automatable yes, technical impact total
- No public proof of concept or evidence of exploitation found
- Not listed in CISA KEV according to one aggregator (unverified)
Our recommendation
- Check whether Rex sync is used for remote transfers, especially over WAN, cloud or shared networks
- Apply the workarounds above until a fixed release is published
- Monitor Rex control hosts for changed host keys and unexpected known_hosts entries
- Upgrade or pin once the maintainers publish a fix
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- oss-security post CVE-2026-94140 www.openwall.com
- Rex 1.16.1 Rsync.pm source metacpan.org
- OSV Debian entry CVE-2026-94140 osv.dev
- Strix CVE overview www.strix.ai
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 05:34.
Original description (NVD)
Rex versions through 1.16.1 for Perl accept an unknown SSH host key for remote rsync transfers because sync hardcodes StrictHostKeyChecking=no. Every remote branch of sync builds its ssh command with that option, for password authentication, for private-key authentication and for the fallback. The ssh options a caller sets through set_openssh_opt reach the OpenSSH transport but not this command, so there is no configuration that restores host key checking for the transfer. An attacker who can redirect the connection before the real host key is known presents their own and the transfer proceeds: under password authentication sync sends the connection password to that server, an upload writes the selected local files to it, and a download writes what it returns to the local destination.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
