SQLite远程代码执行缝隙安全公告
颁布功夫 2018-12-11缝隙编号和级别
CVE编号:待定,,,,,危险级别:高危,,,,,CVSS分值:官方未评定
影响版本
Chromium低于71.0.3578.80版本
SQLite低于3.26.0版本
缝隙概述
2018年12月10日,,,,,国度信息安全缝隙共享平台(CNVD)收录了由腾讯安全平台部Tencent Blade团队发现并汇报的SQLite远程代码执行缝隙(CNVD-2018-24855)。。。。。。。。攻击者利用该缝隙,,,,,可在未授权的情况下远程执行代码。。。。。。。。
SQLite作为嵌入式数据库,,,,,支持大无数SQL尺度,,,,,实现了无服务器、零配置、事务性的SQL数据库引擎,,,,,在网页浏览器、操作系统、嵌入式系统中使用较为宽泛。。。。。。。。Web SQL数据库是引入了一套使用SQL操作客户端数据库的API,,,,,以SQLite作为底层实现,,,,,可在最新版的Chrome/Chromium浏览器运杏祝。。。。。。。
Chromium官方颁布了11月份安全缝隙布告,其中蕴含SQLite远程代码执行缝隙。。。。。。。。该缝隙通过挪用Web SQL API,,,,,一时创建数据库,,,,,并恶意批改SQLite数据库内部表,,,,,使代码运行至谬误分支。。。。。。。。之后,,,,,攻击者就可通过挪用SQLite的数据库索引操作触发缝隙,,,,,实现对浏览器的远程攻击,,,,,在浏览器的渲染器(Render)过程执行肆意代码。。。。。。。。
同时,,,,,作为基础组件库的SQLite也作为扩大库被很多法式使用,,,,,例如PHP、Python等等,,,,,攻击者可通过同样的攻击代码,,,,,在这些过程的高低文中本地或远程肆意执行代码,,,,,或导致软件回绝服务。。。。。。。。
缝隙验证
暂无POC/EXP。。。。。。。。
建复建议
1、谷歌/SQLite官方建补规划
Chromium产品需更新至官方不变版71.0.3578.80,,,,,或同步更新至代码版本Commit c368e30ae55600a1c3c9cb1710a54f9c55de786e及以上
(https://chromium.googlesource.com/chromium/src/+/c368e30ae55600a1c3c9cb1710a54f9c55de786e)。。。。。。。。
SQLite及SQLite库产品需更新至3.26.0版本,,,,,该版本为目前的官方不变版(https://www.sqlite.org/releaselog/3_26_0.html)。。。。。。。。
2、一时解决规划:
(1)禁用WebSQL:编译时不编译third-party的sqlite组件
由于WebSQL没有任何规范,,,,,目前仅有Chrome、Safari支持。。。。。。。。但是Safari也已经阉割了大部门sqlite职能。。。。。。。。若是关关此职能不影响产品,,,,,可禁用WebSQL。。。。。。。。
验证步骤:沉新编译后的内核,,,,,应无法在节造台挪用openDatabase函数。。。。。。。。
(2)关关SQLite中的fts3职能
如关关此职能不影响产品,,,,,可禁用该职能。。。。。。。。Safari在Webkit中关关fts3的规划,,,,,请参考
https://github.com/WebKit/webkit/commit/36ce0a5e2dc2def273c011bef04e58da8129a7d6。。。。。。。。
验证步骤:执行如下JavaScript代码时,,,,,不返回{a:1}则暗示已关关该职能:
var db = openDatabase('xxxxx'+parseInt(Math.random()*10000).toString(),1, 'fts_demo', 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]);
});
});
参考链接
(1)谷歌安全布告:
https://chromereleases.googleblog.com/2018/12/stable-channel-update-for-desktop.htm
(2)SQLite更新布告:
https://www.sqlite.org/releaselog/3_26_0.html
(3)SQLite缝隙详情页面:
https://blade.tencent.com/magellan/


京公网安备11010802024551号