广受欢迎的SQLite数据库引擎中的安全漏洞使数以千计的桌面和移动应用程序面临风险。该漏洞由腾讯的Blade安全团队发现,允许攻击者在受害者的计算机上运行恶意代码,并在危险较小的情况下泄漏程序内存或导致程序崩溃。
由于SQLite嵌入在数千个应用程序中,因此该漏洞会影响各种软件,从物联网设备到桌面软件,从Web浏览器到Android和iOS应用程序。
根据研究人员的说法,坏消息是,如果底层浏览器支持SQLite和将漏洞利用代码转换为常规SQL语法的Web SQL API,也可以通过访问像网页这样简单的东西来远程利用此漏洞。
Firefox和Edge不支持此API,但Chromium开源浏览器引擎支持此API。这意味着像Chrome Chrome,Vivaldi,Opera和Brave等基于Chromium的浏览器都会受到影响。此处提供了崩溃Chrome标签的演示。
但是,虽然Web浏览器构成了最大的攻击面,但其他应用程序也受到影响。例如,Google Home也很脆弱。
研究人员表示,他们在今年秋季早些时候向SQLite团队报告了此问题。随着SQLite 3.26.0的发布,修复程序于12月1日发布。修复程序也被移植到Chromium内部,后来又在上周发布的Google Chrome 71中移植。
像Vivaldi和Brave这样的基于Chromium的浏览器正在运行最新版本的Chromium,但Opera仍然是一个Chromium版本,这意味着它的最新版本仍然受到影响。
虽然它不支持Web SQL,但Firefox也会受到影响,因为它附带了一个本地可访问的SQLite数据库,这意味着本地攻击者可能滥用此漏洞来执行代码等等。
Check Point研究员Eyal Itkin也指出,该漏洞还要求攻击者“能够发出任意SQL命令以破坏数据库并触发漏洞”,从而大大减少了易受攻击的应用程序的数量。
但即使SQLite团队发布了修复程序,许多应用程序很可能在未来几年仍然容易受到攻击。将底层数据库引擎更新到任何桌面,移动或Web应用程序是一个危险的过程,有时可能导致数据损坏,并且大多数程序员尽可能地避免使用它。
应用程序开发人员很少更新库及其应用程序的组件部分,因此这个漏洞多年来困扰应用程序生态系统的可能性非常高。