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
该报告还没有中文解读。
原文摘录
摘自原文(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 所有