gdraheim / zziplib

The ZZIPlib provides read access on ZIP-archives and unpacked data. It features an additional simplified API following the standard Posix API for file access
Other
60 stars 50 forks source link

multiple crashes from fuzzing #154

Closed asarubbo closed 2 months ago

asarubbo commented 5 months ago

Hello,

years ago I write to guidod@gmx.de about multiple crashes I found on zziplib. I never get a response (I think that this tracker did not exist at that time) so at this point is worth checking if those issue are still present or not:

https://blogs.gentoo.org/ago/?s=zziplib

They were posted also on oss-security: https://www.openwall.com/lists/oss-security/2017/02/09/

gdraheim commented 5 months ago

CVEs get added to the testsuite which tries to download the poc zip. Here are a few that you once submitted:

grep -A 1 asarubbo test/zziptests.py 
    url_CVE_2017_5977 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5977 = "00153-zziplib-invalidread-zzip_mem_entry_extra_block"
--
    url_CVE_2017_5978 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5978 = "00156-zziplib-oobread-zzip_mem_entry_new"
--
    url_CVE_2017_5979 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5979 = "00157-zziplib-nullptr-prescan_entry"
--
    url_CVE_2017_5974 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5974 = "00150-zziplib-heapoverflow-__zzip_get32"
--
    url_CVE_2017_5975 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5975 = "00151-zziplib-heapoverflow-__zzip_get64"
--
    url_CVE_2017_5976 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5976 = "00152-zziplib-heapoverflow-zzip_mem_entry_extra_block"
--
    url_CVE_2017_5980 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5980 = "00154-zziplib-nullptr-zzip_mem_entry_new"
--
    url_CVE_2017_5981 = "https://github.com/asarubbo/poc/blob/master"
    zip_CVE_2017_5981 = "00161-zziplib-assertionfailure-seeko_C"
gdraheim commented 2 months ago

I have actually added a "make fortify" variant to check with the gcc adress sanitizer. So it shouldnt be possible to creep in again.