20年未修:MySQL高危漏洞引发开发者担忧,影响数据库完整性
时间:
IT之家 6 月 25 日消息,科技媒体 DevClass 昨日(6 月 24 日)发布博文,报道称 MySQL 中的一个严重漏洞自 2005 年报告以来 20 年未修复,引发社区对数据库完整性的担忧,也促使一些开发者转向使用 PostgreSQL。
该漏洞追踪编号为 11472,可追溯到 2005 年 6 月,被标记为“S2(Serious)”级别,截至IT之家发稿前,仍未被修复。
该漏洞描述为“更新 / 删除 foreign key 后未执行触发器”,IT之家注:触发器是一种在特定表(table)上发生插入、更新或删除事件时自动运行的代码,通常用于确保数据完整性。该漏洞显示,在间接更新表后,由于其中关联到其它表,触发器将不会执行。
在漏洞报告发布后不久,开发团队表示这是一个“已知问题”,并将在 5.1 版本中修复,但最终并未修复。
开发者们在漏洞报告中提到,这个漏洞“严重威胁到 ACID / 数据完整性”,2015 年时还有开发者表示,“在尝试在级联删除上实现触发器后,我们开始遭遇这个问题。请修复这个问题,非常感谢。”ACID 代表原子性、一致性、隔离性和持久性。
Reddit 上的讨论包括关于使用触发器来确保数据库完整性是否为最佳实践的辩论,以及一个常见的回应:“解决方法不是使用 MySQL,而是使用一个合理的关系数据库。”最常见的选择是 PostgreSQL。
根据 DB-Engines 的排名,MySQL 的受欢迎程度持续下降,尽管它仍然是仅次于 Oracle 的第二大主流数据库管理系统,领先于排名第三的 Microsoft SQL Server。