SQLite Two invalid read errors / heap overflows

2015.05.12
Credit: Hanno Böck
Risk: High
Local: No
Remote: Yes
CVE: N/A
CWE: N/A

https://blog.fuzzing-project.org/10-Two-invalid-read-errors-heap-overflows-in-SQLite-TFPA-0062015.html While fuzzing SQLite I discovered two read heap overflow errors. One is in the database file parser, one in the sql command parser. Both issues are present in SQLite 3.8.9 and are fixed in SQLite 3.8.10.1. These bugs can be seen with either valgrind or address sanitizer. Passing the command ".\" will cause a one byte heap overflow in the function resolve_backslashes(). https://crashes.fuzzing-project.org/TFPA-2015-006-sqlite-heapoverflow-resolve_backslashes.sql Sample input file (test with sqlite3 < [inputfile]) https://www.sqlite.org/cgi/src/info/e018f4bf1f27f783 Upstream commit / patch Parsing a malformed database file will cause a heap overflow of several bytes in the function sqlite3VdbeExec(). This only matters if your attack scenario involves parsing untrusted database files. https://crashes.fuzzing-project.org/TFPA-2015-006-sqlite-heapoverflow-sqlite3VdbeExec.sqlite Sample input file (test with sqlite3 [inputfile] .dump) https://www.sqlite.org/cgi/src/info/f71053cf658b3260 Upstream commit / patch Please also note: http://lcamtuf.blogspot.de/2015/04/finding-bugs-in-sqlite-easy-way.html Finding bugs in SQLite, the easy way - Michal Zalewski fuzzed SQLite with a dictionary - most of these were already fixed in 3.8.9, the version I was testing. https://www.sqlite.org/testing.html#aflfuzz SQL Fuzz Using The American Fuzzy Lop Fuzzer - SQLite developers themselve now use regular fuzz testing to find further bugs. https://sqlite.org/releaselog/3_8_10_1.html SQLite 3.8.10.1 release notes mention fixes for "many obscure problems discovered while SQL fuzzing", so there are likely more fixes than the two I mentioned above. -- Hanno Böck http://hboeck.de/

References:

https://blog.fuzzing-project.org/10-Two-invalid-read-errors-heap-overflows-in-SQLite-TFPA-0062015.html
https://www.sqlite.org/cgi/src/info/e018f4bf1f27f783
https://crashes.fuzzing-project.org/TFPA-2015-006-sqlite-heapoverflow-sqlite3VdbeExec.sqlite


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top