资源描述
SQLite远程代码执行漏洞公告
2018年12月10日,国家信息平安漏洞共享平台(CNVD)收录了由 腾讯平安平台部Tencent Blade团队发现并报告的SQLite远程代码执行漏 洞(CNVD-2018-24855) o攻击者利用该漏洞,可在未授权的情况下远程 执行代码。目前漏洞利用细节尚未公开。
一、漏洞情况分析
SQLite作为嵌入式数据库,支持大多数SQL标准,实现了无服务器、 零配置、事务性的SQL数据库引擎,在网页浏览器、操作系统、嵌入式系 统中使用较为广泛。Web SQL数据库是引入了一套使用SQL操作客户端数 据库的API,以SQLite作为底层实现,可在最新版的Chrome/Chromium 浏览器运行。
Chromium官方发布了 11月份平安漏洞公告,其中包含SQLite远程代 码执行漏洞。该漏洞通过调用Web SQL API,临时创立数据库,并恶意修 改SQLite数据库内部表,使代码运行至错误分支。之后,攻击者就可通过 调用SQLite的数据库索引操作触发漏洞,实现对浏览器的远程攻击,在浏 览器的渲染器(Render)进程执行任意代码。
同时,作为基础组件库的SQLite也作为扩展库被许多程序使用,例如 PHP、Python等等,攻击者可通过同样的攻击代码,在这些进程的上下文 中本地或远程任意执行代码,或导致软件拒绝服务。
CNVD对该漏洞的综合评级为“高危”。
二、漏洞影响范围根据官方公告情况,该漏洞的影响版本如下:
(1) Chrome浏览器以下版本(2)使用Chromium内核的浏览器软件
(3) Android手机WebView组件及使用WebView组件的第三方App
(4)使用SQLite组件和SQLite库的程序(尤其是可能接收外部恶意 输入执行SQL语句的程序,例如PHP SQLite3组件)三、漏洞处置建议
1、谷歌/SQLite官方修补方案
Chromium产品需更新至官方稳定版71.0.3578.80,或同步更新至代码 版本 Commit c368e30ae55600alc3c9cbl710a54f9c55de786e 及以上 ( s://chromium.googlesource /chromium/src/+/c368e30ae55600al c3c9cbl710a54f9c55de786e)o
SQLite及SQLite库产品需更新至版本,该版本为目前的官方稳 定版( s:// sqlite.org/releaselog/3_26_0,html)。
2、临时解决方案:
(1)禁用WebSQL :编译时不编译third-party的sqlite组件
由于WebSQL没有任何规范,目前仅有Chrome、Safari支持。但是 Safari也已经阉割了大局部sqlite功能。如果关闭此功能不影响产品,可禁 用 WebSQLo
验证方法:重新编译后的内核,应无法在控制台调用openDatabase 函数。
(2)关闭SQLite中的fts3功能
如关闭此功能不影响产品,可禁用该功能。Safari在Webkit中关闭fts3 的方案,请参考 s://github /WebKit/webkit/commit/36ce0a5e2dc2def273c011bef0
4e58da8129a7d6o
验证方法:执行如下JavaScript代码时,不返回{a:l}那么表示已关闭该功 能:var db 二
openDatabaseCxxxxx' + parseln^Math.randomO*lOOOOJ.toStringO,1, ,fts_demo'J 5000000);db.transaction(function(tx) {
tx.executeSql('create virtual table x using fts3(a,b);');tx.executeSql('insert into x values (1,2);');
tx.executeSql('select a from x;', [], function (tx, results) {console.log(results.rows[0]);
});));
(3)使用腾讯QQ浏览器提供的浏览服务( s:〃)
目前腾讯X5 SDK(V3.6,0.1371)已修复此漏洞,第三方Android APP 可由Webview切换到X5内核,修复此漏洞。
展开阅读全文