Stack Buffer Overflow in MariaDB CONNECT storage engine when reading DOUBLE columns from TABLE_TYPE=DOS tables
该报告还没有中文解读。
原文摘录
摘自原文(2060 字符中的一小部分)
This problem is located in storage/connect/value.cpp, function `TYPVAL<double>::SetValue_char()`. The function copies at most 31 bytes into a 64-byte stack buffer, but subsequently places the terminating "\0" byte using the original field length (n) instead of the bounded length.
原文中的代码
bool TYPVAL<double>::SetValue_char(const char *p, int n){
if (p && n > 0) {
char buf[64];
for (; n > 0 && *p == ' '; p++)
n--;
memcpy(buf, p, MY_MIN(n, 31));
buf[n] = '\0';默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 MariaDB 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @dstesk · 版权归作者与 MariaDB 所有