Connector/ODBC: malicious server's long version string wraps size_t PrefixLen via negative _snprintf return, causing heap out-of-bounds write
该报告还没有中文解读。
原文摘录
摘自原文(6439 字符中的一小部分)
MariaDB Connector/ODBC formats every diagnostic message with a prefix that embeds the server version string. The prefix is built in `MADB_PutErrorPrefix` (driver/ma_error.cpp:165) with the driver's custom `_snprintf`, which returns a NEGATIVE value when the output is truncated …
原文中的代码
int _snprintf(char *buffer, size_t count, const char *format, ...) {
int result = vsnprintf(buffer, count, format, list);
if (result > count) { return count - result - 1; } // NEGATIVE
return result;
}默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 MariaDB 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @fg0x0 · 版权归作者与 MariaDB 所有