Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security //

Database

12/17/2018
08:15 AM
Larry Loeb
Larry Loeb
Larry Loeb
50%
50%

SQLite Vulnerability Could Put Thousands of Apps at Risk

A significant bug in SQLite could allow for remote code execution, leaks of memory and program crashes within thousands of apps, according to new research.

A nuclear bomb has gone off in security land.

SQLite is a free, public domain relational database management system which is contained in a C programming library. It is widely used across the computing spectrum, including apps and the underlying operating systems that these applications run on such as Unix flavors, macOS and Android.

The database ends up part of the resultant program, and is not the kind that works by client-server interactions.

Now, the Tencent Blade Team from China has found a massive bug within SQLite. The bug can cause remote code execution, leaks of program memory and program crashes.

Boom.

The Tencent researchers note:

Magellan is a remote code execution vulnerability […] that exists in SQLite. As a well-known database, SQLite is widely used in all modern mainstream operating systems and software, so this vulnerability has a wide range of influence. […] We will not disclose any details of the vulnerability at this time, and we are pushing other vendors to fix this vulnerability as soon as possible.

One good thing: Tencent researchers note that they have not yet seen exploitation of this bug in the wild.

The possible attack surface is enormous. The library has been used in Internet of Things devices -- such as Google Home -- desktop software, web browsers -- Google Chrome, Vivaldi, Opera, Brave -- and many other apps and programs.

Tencent notes that the vulnerability can be triggered remotely by something comparable to accessing a particular web page in a browser. It can crash Chrome 70s renderer, according to a demo.

Dr. D. Richard Hipp, the developer of SQLite, is more reserved in how the bug will affect things. He noted in a post on the Hacker News blog: "The vulnerability only exists in applications that allow a potential at-tacker to run arbitrary SQL. If an application allows that, it is usually called an 'SQL Injection' vulnerability and is the fault of the application, not the database engine. The one notable exception to this rule is WebSQL in Chrome."

Notably, Hipp does not dispute the existence of the problem itself -- only what to call it.

It appears from first reports that the WebSQL API is involved in the vulnerability. Neither Firefox or Edge support this API, and it seems to be SQLite-query specific. That means that one would need to access internal tables to activate the bug. However, Firefox has an external SQLite database associated with it, so perhaps a wily researcher will find some way to make Firefox vulnerable. But, so far Firefox has made no mention of this bug, and and it has revised things since the new version of SQLite came out.

The Safari browser doesn't have the API enabled, so it is not vulnerable.

SQLite 3.26.0 and Chrome 71 do fix the underlying problem -- along with an updated Chromium -- since Tencent told these vendors about the problem in November. But that revision to SQLite has not yet been incorporated in current apps or systems. (See Google Chrome 71: Bugs Squashed & New Ways to Block 'Abusive Experiences'.)

Doing this kind of library revision to a program can cause other sorts of problems, and it is usually undertaken only when absolutely necessary. In this case, it will need to be.

Security researchers have already begun to try and reverse-engineer the bug, from the information SQLite released when it fixed the problem. Full exploits will not be that long in coming.

The effect of this bug will force many kinds of differing programs to need maintenance. Anything that allows arbitrary SQLite execution within the program is at risk.

Related posts:

— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 9/17/2020
Cybersecurity Bounces Back, but Talent Still Absent
Simone Petrella, Chief Executive Officer, CyberVista,  9/16/2020
Meet the Computer Scientist Who Helped Push for Paper Ballots
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/16/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal
This special report examines how IT security organizations have adapted to the "new normal" of computing and what the long-term effects will be. Read it and get a unique set of perspectives on issues ranging from new threats & vulnerabilities as a result of remote working to how enterprise security strategy will be affected long term.
Flash Poll
How IT Security Organizations are Attacking the Cybersecurity Problem
How IT Security Organizations are Attacking the Cybersecurity Problem
The COVID-19 pandemic turned the world -- and enterprise computing -- on end. Here's a look at how cybersecurity teams are retrenching their defense strategies, rebuilding their teams, and selecting new technologies to stop the oncoming rise of online attacks.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-25789
PUBLISHED: 2020-09-19
An issue was discovered in Tiny Tiny RSS (aka tt-rss) before 2020-09-16. The cached_url feature mishandles JavaScript inside an SVG document.
CVE-2020-25790
PUBLISHED: 2020-09-19
** DISPUTED ** Typesetter CMS 5.x through 5.1 allows admins to upload and execute arbitrary PHP code via a .php file inside a ZIP archive. NOTE: the vendor disputes the significance of this report because "admins are considered trustworthy"; however, the behavior "contradicts our secu...
CVE-2020-25791
PUBLISHED: 2020-09-19
An issue was discovered in the sized-chunks crate through 0.6.2 for Rust. In the Chunk implementation, the array size is not checked when constructed with unit().
CVE-2020-25792
PUBLISHED: 2020-09-19
An issue was discovered in the sized-chunks crate through 0.6.2 for Rust. In the Chunk implementation, the array size is not checked when constructed with pair().
CVE-2020-25793
PUBLISHED: 2020-09-19
An issue was discovered in the sized-chunks crate through 0.6.2 for Rust. In the Chunk implementation, the array size is not checked when constructed with From<InlineArray<A, T>>.