Function `do_pubkey()` can have out-of-bound read issue
该报告还没有中文解读。
原文摘录
摘自原文(1787 字符中的一小部分)
Summary A 1-byte out-of-bounds heap read in `do_pubkey()` in lib/vtls/x509asn1.c. When parsing an RSA public key with a zero-length or all-zero modulus, the loop dereferences a pointer before checking bounds. Requires a non-OpenSSL TLS backend (e.g., Mbed/Gnu). A certificate chain verification can …
原文中的代码
// Compile curl's x509asn1.c with -fsanitize=address -O0
// Feed a BIT STRING with content: 00 30 02 02 00
// 00 = unused bits
// 30 02 = SEQUENCE, length 2
// 02 00 = INTEGER, length 0 (zero-length modulus)
uint8_t bitstring[] = {0x00, 0x30, 0x02, 0x02, 0x00};
uint8_t *buf = …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @tynus · 版权归作者与 curl 所有