34: `curl_mprintf` reads `double` for documented `long double` conversions — uninitialized value disclosure
该报告还没有中文解读。
原文摘录
摘自原文(3075 字符中的一小部分)
`docs/libcurl/curl_mprintf.md` documents that the `L` length modifier makes floating-point conversions (`%f`, `%e`, `%E`, `%g`, `%G`) accept a `long double` argument. The implementation in `lib/mprintf.c` recognizes `L` and sets `FLAGS_LONGDOUBLE`, but the conversion switch …
原文中的代码
sizeof(double)=8 sizeof(long double)=16 DBL_MANT_DIG=53 LDBL_MANT_DIG=64 %.17Lf curl=0.00000000000000000 libc=1.23456789012345679 match=no %.17Le curl=6.95335579603750720e-310 libc=1.23456789012345679e+00 match=no %.17LE curl=6.95335579603750720E-310 libc=1.23456789012345679E+00 match=no %.17Lg …
默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @giant_anteater · 版权归作者与 curl 所有