POJIA破甲
地图 / Connector/ODBC: SqlwcsOctetLen sizes UTF-16 with a byte-oriented helper, reading past the caller's buffer and sending client memory to the server

Connector/ODBC: SqlwcsOctetLen sizes UTF-16 with a byte-oriented helper, reading past the caller's buffer and sending client memory to the server

内存破坏 / 越界读 / #3920633

厂商
MariaDB
严重程度
低危 · CVSS 5.3
赏金
—
弱点
越界读
研究员
@fg0x0
披露日期
2026-11-04
资产
MariaDB Server & Connectors - Data corruption, exfiltration, disclosure
CVE
—

该报告还没有中文解读。

原文摘录

摘自原文(9792 字符中的一小部分)
`SqlwcsOctetLen` (`driver/ma_platform_posix.cpp:121`) sizes a UTF-16 string by calling Connector/C's `mb_charlen`. That helper is byte-oriented: its `UTF16_HIGH_HEAD(x)` macro casts the argument to `uchar`, so it inspects only the low byte. `SqlwcsOctetLen` hands it a whole `SQLWCHAR`, so every …
原文中的代码
/* CharLen < 0 - treat as NTS */
SQLINTEGER SqlwcsOctetLen(const SQLWCHAR *str, SQLINTEGER *CharLen)
{
  SQLINTEGER result= 0, inChars= *CharLen;

  if (str)
  {
    while (inChars > 0 || (inChars < 0 && *str))
    {
      result+= DmUnicodeCs->mb_charlen(*str);
      --inChars;
      str+= …

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 MariaDB 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @fg0x0 · 版权归作者与 MariaDB 所有

同类报告

OOB reads in network message handlers leads to RCEValve · 2021-05-04 · $7,500RCE on CS:GO client using unsanitized entity ID in EntityMsg messageValve · 2021-05-27 · $9,000CS:GO Server -> Client RCE through OOB access in CSVCMsg_SplitScreen + Info leak in HTTP downloadValve · 2021-05-17 · $7,500Out-of-bounds read in MariaDB .frm parsing enables RCE via vtable hijackingMariaDB · 2026-09-08Firecracker Out-of-bounds Read/Write Local Privilege Escalation VulnerabilityAWS VDP · 2026-06-11Conflux-queued zero-length RELAY_END triggers heap out-of-bounds readTor · 2026-09-10