POJIA破甲
地图 / SSH (SCP/SFTP) host-key verification is skipped on connection reuse — a pinned/known_hosts transfer silently reuses a previously-unverified connection

SSH (SCP/SFTP) host-key verification is skipped on connection reuse — a pinned/known_hosts transfer silently reuses a previously-unverified connection

密码学缺陷 / Improper Validation of Certificate with Host Mismatch / #4124583

厂商
curl
严重程度
低危
赏金
—
弱点
Improper Validation of Certificate with Host Mismatch
研究员
@joumaaa
披露日期
2026-10-20
资产
https://github.com/curl/curl
CVE
CVE-2022-27782

该报告还没有中文解读。

原文摘录

摘自原文(7333 字符中的一小部分)
For SCP/SFTP, curl verifies the server's host key once, during the initial connect state machine, in `ssh_check_fingerprint()` — which reads `CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256` / `_MD5`, the `CURLOPT_SSH_KNOWNHOSTS` file, and the `CURLOPT_SSH_HOSTKEYFUNCTION` callback. That function has exactly …
原文中的代码
/* lib/url.c:569-578 */
static bool ssh_config_matches(struct connectdata *one,
                               struct connectdata *two)
{
  struct ssh_conn *sshc1, *sshc2;
  sshc1 = Curl_conn_meta_get(one, CURL_META_SSH_CONN);
  sshc2 = Curl_conn_meta_get(two, CURL_META_SSH_CONN);
  return sshc1 && …

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @joumaaa · 版权归作者与 curl 所有

同类报告

CVE-2025-4947: QUIC certificate check skip with wolfSSLcurl · 2025-05-28mbedTLS / wolfSSL / rustls backends silently skip hostname verification when CURLOPT_SSL_VERIFYPEER=0curl · 2026-06-26CVE-2025-15079: libssh global knownhost overridecurl · 2026-01-07CVE-2024-2466: TLS certificate check bypass with mbedTLScurl · 2024-03-27wolfSSL backend disables hostname verification when CURLOPT_SSL_VERIFYPEER is 0curl · 2026-08-24CVE-2026-87865: knownhost callback mismatches key as missingcurl · 2026-10-14