Use-After-Free in BTREE Index Traversal via Stale key_version in heap_update() in MariaDB Server
该报告还没有中文解读。
原文摘录
摘自原文(6445 字符中的一小部分)
A use-after-free vulnerability exists in MariaDB's MEMORY (HEAP) storage engine. The local variable `key_changed` in `heap_update()` (`storage/heap/hp_update.c`) is declared and initialized to 0 but is never set to 1 anywhere in the function body. This makes the `if (key_changed) …
原文中的代码
int heap_update(HP_INFO *info, const uchar *old, const uchar *heap_new)
{
HP_KEYDEF *keydef, *end, *p_lastinx;
uchar *pos, *recovery_ptr;
my_bool auto_key_changed= 0, key_changed= 0; // <-- never set to 1
HP_SHARE *share= info->s;
// ...
for (keydef= share->keydef, end= keydef + …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 MariaDB 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @lukas_kupczyk · 版权归作者与 MariaDB 所有