From 2b3e3f878b33ea0081de9545c4dcb15834197465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= Date: Sun, 29 Oct 2017 23:56:21 +0100 Subject: [PATCH 1/2] Added reproducers for #138, #139 & #140 the issues correspond to CVE-2017-14858, CVE-2017-14861 and CVE-2017-14866 respectively --- test/bugfixes-test.sh | 21 +++++++++++++++++++++ test/data/006-heap-buffer-over | Bin 0 -> 309965 bytes test/data/007-heap-buffer-over | Bin 0 -> 331696 bytes test/data/009-stack-over | Bin 0 -> 340 bytes 4 files changed, 21 insertions(+) create mode 100644 test/data/006-heap-buffer-over create mode 100644 test/data/007-heap-buffer-over create mode 100644 test/data/009-stack-over diff --git a/test/bugfixes-test.sh b/test/bugfixes-test.sh index ed47c985..69a54854 100755 --- a/test/bugfixes-test.sh +++ b/test/bugfixes-test.sh @@ -800,6 +800,27 @@ source ./functions.source copyTestFile $filename runTest exiv2 $filename + num=g138 + printf "$num " >&3 + filename=007-heap-buffer-over + echo '------>' Bug $filename '<-------' >&2 + copyTestFile $filename + runTest exiv2 $filename + + num=g139 + printf "$num " >&3 + filename=009-stack-over + echo '------>' Bug $filename '<-------' >&2 + copyTestFile $filename + runTest exiv2 $filename + + num=g140 + printf "$num " >&3 + filename=006-heap-buffer-over + echo '------>' Bug $filename '<-------' >&2 + copyTestFile $filename + runTest exiv2 $filename + ) 3>&1 > $results 2>&1 printf "\n" diff --git a/test/data/006-heap-buffer-over b/test/data/006-heap-buffer-over new file mode 100644 index 0000000000000000000000000000000000000000..879acbee0fe60d22a0e86f07b50b05c3e3ec7a4f GIT binary patch literal 309965 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 Bt~&q# literal 0 HcmV?d00001 diff --git a/test/data/007-heap-buffer-over b/test/data/007-heap-buffer-over new file mode 100644 index 0000000000000000000000000000000000000000..4e057bc4e66dc6c5b949dc3d90fc627267bdaa0d GIT binary patch literal 331696 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Ξ91dY~D3?rZS67fprKk z5PQN_x~A{L-vNAZr0*9_Bpdk~d%vsii~6X(eF`d>1YuPT()$3%2Pe%S~ncMHtSgK>PO5nSy?WsIsG?R~S)!{3P{oyr|F;RthER zM5y8sU0y1nd-@lU?zj|S8KTr{Ofjd0I}=~xaBHT?mOt1-Be*7f{#Vn`lNKi-3<;m| zvh^Aloa1MY!0ICQQ?Qr0M3edROd6VhXCq32@NHb4XwY~`gZwvAlm%l^RNX8p>Qz>{ z!CiF(6#bztL2?lpV5DgufSD-t?h2JnFl3P-?)>c`?NjJNO@njf0q$D$+MWg-jk( z!Xy~kc#x_Se*jd8TQs4Ze*(oR+>ZK1{Cer>n!=j*pQVO;Ge(Q+KE0}q3-Tcus-KGu zK@6aCTFHWbqclDGG--#%r)j9w+LTVW@L^Jnfn9AnRyBL`?@Fc4pOHP4FUP76-&Sr{ zPVjDL(oapSVXZUa?Xrh*tzB%tJ=U7GEcA6Y3MKBk08y~GC0)cE0|TZa{@6Qaf^$0Er!;z;PmTsTWbaj>6eUMzLStN%4M zl)ov|*6lHnrEEV#YH9l6$xN&W|69%;h@b<6nD~SgXWx~sz)8o60X}%l%zx4-R3o9A zoCovU{Z3Sv8R!$b3F0vmHHTGQ zvWO;2FD~F;9irwbf05fK@?VfqLmPDg(j@BeO!JgoJ}3N5`tX<0N5Z?x60s$v`IM2uL~*LUiGXqMat0rGU4DFn3If<3Y_@a*QAK(E=@9 zOYTIAO0Cb}zqjJQ8pC-y^3>i`khHIpGK!I5)9EiO;oVe8dPCj%Rb0aZS$x+d&-l_O zWqZb#oSUBUrRRXDg<9)*+JZej<2$SppX-HvT+gF=e6E)k<3nScSl8O~!FVn=@~{Ev z_qZ?V*!Gd1c}W^0KN8&2_@ElAk0HGr4UFO031OirWD(a0aUa6i=n(!COJstZ_zPnO z&TmoC1WN8-noHSXN+P|8Tor?r8&ekH;0Szu1pd?4ui`Zv0Y|_Qa0DCyN5Bzq1RMcJz!7i+905nb5pVRU*Cx1GhTh78a!uoMS&%BDy<9@21f1?#9g*<=bQUSxGVv zb#$W=RZ`+x>xiGnir3Sf6vOx~!m)JI`o~nZpA965wL&Kp`*2gEoH3W`&3IzTX}|Gp zJM}5-k=vm=3{Oqhu;Q40!4C-)AN_3^H4 zy^pq+Pa7q4*N+m4=Gy!s)oiZ>*mQ0~5!Q~rcnPA0Y|I3e%?-iMMY^vv3eH|l^bw#3g&aqo1Uh&+Gyr%fuT zVS6C|OBN)_&LZya{1inWhU=eYX2o0P@`9XazuH9ia_O}F1^c|Zo!;$56^7%V(umN^ zHzkrdEWhJZ@35Nw2AJWxvxwFyWYL{OyNa@#!$krX1F*)}%DI`Z6m^S6l z4q4Omq;#9@{Zdso9)Vp~Bss_wiCdTse7B?or&vEey|0>j%EkRf6K4a7*HI=l%mlER zISsC;C7n(+gzi5n`ra%TRoh5kk8CK;xEU3bYkfSFwHbbc?E~UHAUydSCZi^PBSm`iI zA*U7LZJbO({uW&m@*ffU_TeA%ws22M? z*@7DA&er-+X%Z2!g%2@8Ma;m}#?t8OLS_pZT}OJBw~W|`qtXruFh&VQBxGxdBWgFc z1^y<@U4^kZ-$vaWL5xR)Zl1@B;9%Tf?22qWC04dMMF-ia1s%B=k2;J%gX>6#Kk-sK zRx2K#Y}Ln|rdmV1xeLF)K~IhjPpfUCjjdELAE&rU+MDpE7LDK-dsDRbbLBW-Z{MPAjgSsodyQ!ciJj_#lkfN+*Usb%pjeL$zJnzSXP32y z`jafpk!;q&V>QVPYS5&+r43OlE7ce*nXnnFz|-Tm%9F(9mC7(SnjZ_m3=x5|BcbOt zRlRmSH!3!sm8{D6VkhXy+F$Tt`CTK#g^_gHp!Jjxu_T;ykyJ@3=O7xW7ndz5vjqUBY`wj-CCPj(g)lSWP7rJS@`MtHw ziUYp9QFb9F5kwb4axlD$ATW>7l~)n!RR~-3PQ$t}NTGdxzu*63WhW$2NtjM7

l4z0rGLB33Mn=ko*ywR}|%; zq2|H``zYkBO|vgH7cYfpjWJ*p{X|2>L~!E(zC=71B0r71AqdqfhIw%z{=YHpyW}6M zDA7zAenTM5Oxpb6Y@(*k?E~YscKbkLtH6)lKK8(8uiZY@es4Q`AozVpRzyaNFAt$j>! z2F5PCeb@(tc0)b`H*JJDsSU)(i+T7Bzom=0vbxy2ReGxL?^XURDe$cVCIQ31)WIG6 zSldG;FC_@Z^TN89Dg(`e9gHy=KZ-DJ6vS!=oG{{q*5I4nr)vqOLA#qbvEYj9p7+my z!xnjXtVR7fftzN2{>#>(lex~}zu`BsLelu9aYAvv%yk8ac0^Y_x8e#llfu=qtH?(X zUR`;}3il`Mk}~iLzI^4)_(NPsUW&t~V|P>wtl&O@1CZZdUIU?GEd$m2xc{nQyNILB zLVCR!yaoa58@qfeGQCw6?dZ37kwpyGvd9dM#˾|I$UCkwFA1SQA#^AJRer@Yb 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 Date: Sun, 29 Oct 2017 23:57:38 +0100 Subject: [PATCH 2/2] Updated bugfixes-test.out --- test/data/bugfixes-test.out | Bin 1936500 -> 1936905 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/data/bugfixes-test.out b/test/data/bugfixes-test.out index c770a3fe0eeb50833c9adcd27add6162363abb95..62d70e5130ce82fb69d1ebd186c8f42590091cbb 100644 GIT binary patch delta 180 zcmew|qpWjISwjnB3sVbo3rh=Y3tJ0&3r7oQ3s(zw3r`Dg3ttO=i$IHDi%^Sji%5%T zi&%?zi$sfLi&Tqri_8|;lAh_FowB@42IkZ4x@4uN>o&@23z_R?q$U>VCY7e8r55St rm!%d>|5z_;z-eG$sasrr6ZB delta 67 zcmV~$xebB<006*%4~o1h$|GA6YKm(}7=VH?7|j8=o44`5j*~#>