oss-sec mailing list archives
Re: Numerous FreeTDS crashes fixed on master
From: Brandon Perry <bperry.volatile () gmail com>
Date: Wed, 10 May 2017 10:59:34 -0500
I was asked what software this affects. PHP - http://www.freetds.org/userguide/php.htm <http://www.freetds.org/userguide/php.htm> Perl DBI - http://www.peppler.org/freeware/dbd-sybase.html <http://www.peppler.org/freeware/dbd-sybase.html> Ruby DBI w/ Sybase - http://stackoverflow.com/questions/721960/connecting-to-sql-server-with-activerecord <http://stackoverflow.com/questions/721960/connecting-to-sql-server-with-activerecord> Python-Sybase - http://python-sybase.sourceforge.net/index.html <http://python-sybase.sourceforge.net/index.html> Other languages have less-official bindings. Go - https://github.com/minus5/gofreetds <https://github.com/minus5/gofreetds> Erlang - http://arcusfelis.github.io/blog/2012/07/02/odbc/ <http://arcusfelis.github.io/blog/2012/07/02/odbc/> R - http://eriqande.github.io/2014/12/19/setting-up-rodbc.html <http://eriqande.github.io/2014/12/19/setting-up-rodbc.html> Also, obviously the tsql binary if used to connect to an untrusted MSSQL/Sybase server.
On May 9, 2017, at 9:34 AM, Brandon Perry <bperry.volatile () gmail com> wrote: Attached is a zip file of reported TDS streams that cause segmentation faults in the FreeTDS library. The ‘tsql’ binary was used for the fuzzing, so these most likely only affect client-side functionality. These have been resolved on master and the 1.0 branch. Also included in the zip file is a bucket.txt, a crashwalk db dump detailing the crashes for the files in the zip file. You can find the bucket.txt itself in the following Github gist as well. No CVE’s have been requested. https://gist.github.com/brandonprry/bfb0e58682d464e2d2d319644790bdf5 <https://gist.github.com/brandonprry/bfb0e58682d464e2d2d319644790bdf5> To test, you can compile FreeTDS, then use preeny to redirect network IO to stdin/stdout. export LD_PRELOAD=~/preeny/x86_64-linux-gnu/desock.so unzip freetds_crashed.zip cd rpt for i in id*; do valgrind ~/freetds/build/src/apps/tsql -S 127.0.0.1 -U fdsa -P fdsa -I ~/tdsconfig < $i; done A simple tdsconfig file can be used to speed things up a bit. [global] timeout = 1 connect timeout = 1 Many thanks to Frediano Ziglio, the maintainer of FreeTDS, for quick communication and bug fix turn arounds. <freetds_crashes.zip>
Attachment:
signature.asc
Description: Message signed with OpenPGP
Current thread:
- Numerous FreeTDS crashes fixed on master Brandon Perry (May 09)
- Re: Numerous FreeTDS crashes fixed on master Brandon Perry (May 10)