TiDB 发布 4.0.14、5.0.3 和 5.1.1 安全更新

TiDB 权限提升漏洞

部分版本的 TiDB 指令实现存在缺陷,被攻击者利用可导致账户无法登陆或权限提升。

受影响的版本:

TiDB 4.0.13 之前的版本(TiDB 3.0 及更早期的版本不受影响)

修复方案/缓解措施:

建议用户升级至 4.0.14 版本。

CVSSv3: 8.8 - AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVE ID: CVE-2021-34799


Multi-Statement 注入漏洞

部分版本的 TiDB 没有正确处理 MySQL 协议中的相关参数,默认允许多语句(Multi-Statement)执行,这样会增加 SQL 注入的风险,导致数据库更容易受到 SQL 注入攻击。TiDB 4.0.14 版本将默认关闭多语句执行。

受影响的版本:

TiDB 4.0.11 到 TiDB 4.0.13
TiDB 4.0.8 及之前的版本(TiDB 3.0 及早期版本均受影响)

修复方案/缓解措施:

TiDB 在 4.0.9 中修正了多语句执行在协议层的缺陷。然而对于旧版本 TiDB 而言,这是破坏兼容性的修改,而一些客户已经依赖了这种缺陷行为,相关的修正在 4.0.11 版本被 revert。为了应对这种情况,TiDB 提供了一个新的系统变量 idb_multi_statement_mode 控制多语句在服务器段是否被允许执行,并在 4.0.13 版本中新增了一张 information_schema 系统表,使得您能够提前查询自己是否已经依赖了旧版本 TiDB 的有缺陷行为:

SELECT * FROM information_schema.client_errors_summary_global WHERE error_number = 8130;

如果上述语句执行返回了告警或是错误,那么意味着您依赖了有缺陷的 TiDB 行为,这是一个值得被注意的安全隐患。升级至 4.0.14 时需:

  1. 尝试更新您的应用,并禁止多语句执行(推荐)

  2. 使用修改连接协议的方式允许多语句执行,修改方式请参阅 TiDB 官方文档。(存在安全隐患,不推荐)

  3. 使用修改 tidb_multi_statement_mode 系统变量的方式允许多语句执行。(存在安全隐患,并且 TiDB 行为与连接协议不符,极度不推荐)

CVSSv3: 8.8 - AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVE ID:


Grafana 组件漏洞

TiDB 使用的 Grafana 组件存在漏洞,被攻击者利用可能导致信息泄漏或拒绝服务。

受影响的版本:

TiDB 5.1.0
TiDB 5.0.2 及之前的版本
TiDB 4.0.13 及之前的版本(TiDB 3.0 及早期版本均受影响)

修复方案/缓解措施:

建议用户升级至 4.0.14、5.0.3 或 5.1.1 版本。

CVSSv3: 8.2 - AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
CVE ID: CVE-2020-13379

3 个赞

mark~

1 个赞