Connector/J: malicious server crashes client JVM via unbounded result-set field-count allocation in ClientMessage.readPacket
该报告还没有中文解读。
原文摘录
摘自原文(4945 字符中的一小部分)
MariaDB Connector/J parses result-set responses by reading the column count as a length-encoded integer straight from the wire and immediately uses it to size a Java array (`new ColumnDecoder[fieldCount]`) with no upper bound. A malicious or MITM MariaDB server can reply to any query - or to the …
原文中的代码
default:
int fieldCount = buf.readIntLengthEncodedNotNull(); // line 282: server-controlled
ColumnDecoder[] ci;
if (context.canSkipMeta() && this.canSkipMeta()) {
...
} else {
ci = new ColumnDecoder[fieldCount]; // line 302: unbounded allocation …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 MariaDB 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @fg0x0 · 版权归作者与 MariaDB 所有