On Thursday, 27 July, 2017 11:03, petern <peter.nichvolo...@gmail.com> wrote:

>Richard. Were you aware of this paper?

>http://www.cs.vu.nl/~herbertb/download/papers/anc_ndss17.pdf

>Are you able to put two facts together?

>What prevents stack busting or other code injection attacks on an
>otherwise valid pseudo-null pointer by simply decoding the address 
>space and observing where strcmp() loads a register to one of the 
>pointer "keys" you've insisted be conveniently published for 
>hackers in the data segment?

Absolutely nothing prevents it.  However, this would be an application problem 
and not an SQLite problem.  The purpose of using the pointer interface is to 
disable the ability of "unsanitized user created SQL" (aka Johhny Tables) from 
being able to pass pointers into and out of the SQLite3 library via crafted 
SQL.  The application developer must specifically code the ability to send and 
receive pointers.  This can no longer be done and will no longer return 
meaningful results.  It does nothing to secure the application code from 
exploitation by "other means".

In other words, if a "badly written application" were subject to any sort of 
machine code injection attack, there is nothing to whatsoever to prevent the 
injected code from accessing the SQLite engine functions (or the OS kernel or 
anything else), binding pointers using the new interface, and extracting 
pointers.  Nothing except that if the application already has this 
vulnerability (code injection via whatever means) there are much easier (not to 
mention smaller and simpler) methods to retrieve the same data which does not 
depend on using the database engine.




_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to