mbedTLS / wolfSSL / rustls backends silently skip hostname verification when CURLOPT_SSL_VERIFYPEER=0
密码学缺陷 / Improper Validation of Certificate with Host Mismatch / #3826199
该报告还没有中文解读。
原文摘录
摘自原文(5799 字符中的一小部分)
When an application sets `CURLOPT_SSL_VERIFYPEER=0` while keeping `CURLOPT_SSL_VERIFYHOST=2` (the default), the mbedTLS, wolfSSL, and rustls TLS backends silently skip the hostname-vs-certificate check. The OpenSSL, GnuTLS, and Schannel backends correctly preserve hostname checking under the same …
原文中的代码
$ src/curl --version # all four built from the same source tree curl 8.21.1-DEV (x86_64-pc-linux-gnu) libcurl/8.21.1-DEV OpenSSL/3.5.6 ← rc=60 (correct) curl 8.21.1-DEV (x86_64-pc-linux-gnu) libcurl/8.21.1-DEV mbedTLS/3.6.5 ← rc=0 (BUG) curl 8.21.1-DEV (x86_64-pc-linux-gnu) …
默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @d1sclose · 版权归作者与 curl 所有