Re:Select Code_execution from * Using SQLite; (2019)
by hanche on Saturday June 13, 2020 @02:16PM
(#23511411)
If I understand this correctly, you need a malicious sqlite database file, which I don’t think you could create with sqlite itself. Which means, in order to exploit this, you first have to get this malicious database onto their computer. So while this seems serious enough, it may not be time to panic quite yet.
[ Parent
| on HN ]
Re:Select Code_execution from * Using SQLite; (2019)
by progval on Saturday June 13, 2020 @02:20PM
(#23511438)
I'm guessing this submission is a reaction to another post on the frontpage: "SQLite as an Application File Format" https://news.ycombinator.com/item?id=23508923
In this case it's relevant, as untrusted SQLite files would be downloaded and loaded in this context.
Re:Select Code_execution from * Using SQLite; (2019)
by hanche on Saturday June 13, 2020 @02:36PM
(#23511573)
I see. I had thought of that more as a format for applications to store their persistent data than for data interchange. When used for the latter, the danger seems clear enough. (I also just noticed that the original post is half a year old.)
Re:Select Code_execution from * Using SQLite; (2019)
by recursivecaveat on Saturday June 13, 2020 @02:44PM
(#23511639)
If you're using it for persistent storage, its probably inevitable that a user sends in their copy as part of a bug report and a developer cracks it open.
Re:Select Code_execution from * Using SQLite; (2019)
by hanche on Saturday June 13, 2020 @04:15PM
(#23512316)
Good point.
Re:Select Code_execution from * Using SQLite; (2019)
by dathinab on Saturday June 13, 2020 @04:39PM
(#23512501)
True but even as a interchange file format sqlite is interesting. Through you probably want some hardened against this types of attacks form of sqlite. Like one which had just a subset of features and sqlsupport.
Re:Select Code_execution from * Using SQLite; (2019)
by ifdefdebug on Saturday June 13, 2020 @04:59PM
(#23512679)
In this case you should run integrity check (sqlite built in) then schema check (app specific) first thing after open.