libcurl: Integer truncation in curl_easy_ssls_import() causes TLS sessions to never expire
该报告还没有中文解读。
原文摘录
摘自原文(6480 字符中的一小部分)
Summary: `curl_easy_ssls_import()` deserializes a TLS session blob and stores it in the in-memory session cache. In `Curl_ssl_session_unpack()` (`lib/vtls/vtls_spack.c:311`), the `valid_until` field is read as `uint64_t` and cast directly to `curl_off_t` (`int64_t`) with no bounds check — so a …
原文中的代码
libcurl/8.19.0-DEV OpenSSL/3.5.5 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 nghttp2/1.64.0 Linux x86_64 Feature gate: USE_SSLS_EXPORT (enabled by default with OpenSSL, GnuTLS, wolfSSL, mbedTLS) Introduced in: curl 8.12.0 (when curl_easy_ssls_import was added)
默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @adityasunny_06 · 版权归作者与 curl 所有