From fa657fd99bd13227f283e3f4db5a5cd349a7211e Mon Sep 17 00:00:00 2001 From: oleibman <10341515+oleibman@users.noreply.github.com> Date: Fri, 13 Sep 2024 10:10:29 -0700 Subject: [PATCH] More Tests --- .../Reader/Security/XmlScannerTest.php | 16 ++++++++++++++++ tests/data/Reader/XLSX/utf7white.dontuse | Bin 0 -> 8961 bytes tests/data/Reader/XLSX/utf8entity.dontuse | Bin 0 -> 8880 bytes .../Xml/XEETestInvalidUTF-7-whitespace.xml | 2 ++ .../Reader/Xml/XEETestValidUTF-8-whitespace.xml | 4 ++++ 5 files changed, 22 insertions(+) create mode 100644 tests/data/Reader/XLSX/utf7white.dontuse create mode 100644 tests/data/Reader/XLSX/utf8entity.dontuse create mode 100644 tests/data/Reader/Xml/XEETestInvalidUTF-7-whitespace.xml create mode 100644 tests/data/Reader/Xml/XEETestValidUTF-8-whitespace.xml diff --git a/tests/PhpSpreadsheetTests/Reader/Security/XmlScannerTest.php b/tests/PhpSpreadsheetTests/Reader/Security/XmlScannerTest.php index 26906c094b..adb25a973f 100644 --- a/tests/PhpSpreadsheetTests/Reader/Security/XmlScannerTest.php +++ b/tests/PhpSpreadsheetTests/Reader/Security/XmlScannerTest.php @@ -166,4 +166,20 @@ public function testEncodingAllowsMixedCase(): void $output = $scanner->scan($input = 'bar'); self::assertSame($input, $output); } + + public function testUtf7Whitespace(): void + { + $this->expectException(ReaderException::class); + $this->expectExceptionMessage('Double-encoded'); + $reader = new Xlsx(); + $reader->load('tests/data/Reader/XLSX/utf7white.dontuse'); + } + + public function testUtf8Entity(): void + { + $this->expectException(ReaderException::class); + $this->expectExceptionMessage('Detected use of ENTITY'); + $reader = new Xlsx(); + $reader->load('tests/data/Reader/XLSX/utf8entity.dontuse'); + } } diff --git a/tests/data/Reader/XLSX/utf7white.dontuse b/tests/data/Reader/XLSX/utf7white.dontuse new file mode 100644 index 0000000000000000000000000000000000000000..24e9b1f5c2b14a40cf7334202cd2e9364ea4ff8d GIT binary patch literal 8961 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 S003YiwroU3m!tmi@BaWq%!XP3 literal 0 HcmV?d00001 diff --git a/tests/data/Reader/XLSX/utf8entity.dontuse b/tests/data/Reader/XLSX/utf8entity.dontuse new file mode 100644 index 0000000000000000000000000000000000000000..d69097772cc563561de0980ffa00b4d9339b4701 GIT binary patch literal 8880 zcmeHNg~ zrDEv3+kTz+OwUD{+un2(80)23Slp(CT;fW+BeLZCgg-dz&b8lfUTSSs>G!ImP8B=M zx2svhfQ*m5y>koHL`)K6r>nD@K}aUXNdg8(m?i_>+E%ry@<=U-%NLQF6Wtf_SxKGl z)WlopsKGAK%@gRFX<2-xIgiKRlRt{PGE6XLX~F1jaJa%M2MnWepS|y7kfTDat;T4i zT4Q&SpwMW~P|ZF5(inN3BPgoj-rT^#ow`Q8he|x8rTL*p1-czkQ069&7and+46nnE zR4!^C6Pbfq_0q(Asr^PK0V>e2^83YH)`OmHqC{DWy?dXj<}N`?1mtZCWG1y~kx?ek z9?)2^Ear5kNhu5PG5LAD@9M7RZ&uzmCik$;9Y$LPN}t^lp5T3}J#3c1?QW)~^9(3)EWvgVm_0k&kK_Ns z@xM3*|MuubF-pp<9N0m-vRA=fr{i-`xDpD^;<9zr>Rvu_vp5wIS#)G`O^?WN)k*zP zo_aTUUG>b&2}OMGqCQ#XDGI|U6r`P;0 z3?_R|#OHpyEBZ=6acd-zsLS5SZ0dtY7mWJ&oK!>2T)?8lD9!E(jVss$)_f?H+(dBg z!TKzvOO=KP|BP$!X(uS-*ju-pXTLYqwT%y>wXkci+b@hVZyv!={|u69cd~3#6ab(Q zL1j3Im2rWwJHzduMsPUv2X7T=Si!USac{gvuF=|@L;Lm6ElZa{8%!02O#PL0Bl66| ziY1tDxpU<-w!IfPF)ZqIitXmY@X6eRItTlN(o(!9zr>x$N_V<&kM5I<@J^cunf1Hn zdh6x{eT1gcDLrGFA4iDUA+!vN3Ubv_W!mg1$35svDv?>B1}+m~8xXQ&VGLd*J+?!mF_)$r+Liy}M5~*c zimXMjKU5{tv3Z|rN2h&t6i@(ly#JzzjIGNP)e!!v&Gq4gvbm7(u|tCk24v{=Z#X564v;}t5wpBL0|MPu1T#m*9yX{9O_XGWsiO*P-~ zP0kq{#L^s|Np;{Isic%EX43ekEB&OVD>3_AF}*nkzL9))xa#>JQ;9CYf=sP|XxF)} zxd5vyxSI&wH303Y$&~pX&@dn_JCi!5qdq#L)$@gSLCv|q%T5qlAXMQ3J_rm9L%s0R zHl))L+o^-nC=?TqD@OW%gwi)Pj!+BSzxGz4=~k!dLkXTc9Q=e#gcojE7cb$z9=3|l zeSE`BeNdMJBF6l?xLv_~1dpVfyfmao+iR!*Wlp=z<-`-i=)M{6<~N8Nn~B9^9jM zi+C=NoN7qIommnxrLtx9kh{bmQ{|0!c~DvK}^}FtJo>Haj78xCbk(#vNVF z(MA6Dt|TU$+PH*Na?>b06t_w7C7==o3M*{F<|-d@_S%Z%(;ICp=Th1G(S_f$ERHnRCqIhCUEq|=P6w^1@sy=-jO;#XgA&5J@o@uhL_uXK2 z%d~fM&osW;w{&#O++8y|-ewaX7pM=7*>kwHslje4x}V-j+Xto}Bgg#EA)fn{;m!Gv zfcs}i`ijIR93sxtB6y1wfR2O+$$wGT-vjec8bd-F$@Ti-Vex3TUe*%Q==#B{Nw5%PaMV*rr^XXVmJ9o38k z@mLOUIC5Fq4^i|W(s*zAs?SA$+E%e&c~uov5~JzbZH?s2$(?jRSIXf-5)3(^yRLxY zjWKHGvli(S^n>~8KEWJm&rmNkZ;|qv4{ZGiqaH-2{BH+S}*nvDiT=7R1w>O7C9PHVDPMkl|c}k1| zbcKU3@D$~cGT@{V)+t9u@ID~hw3f^?w@hnwQ(ForGP|DPde?qCsys@GK{jLEc_(^c z>subtl>gyKQcSL`1jYkHsKsND=e3%2Wb9e9Qhyw;$_RnW1<&n`l~alJrk;;j)JqS! z8QfYwPIld)+0IH7f58aHB(#*;yN9VL1~>`jMmjNyZ@-QValf-U<$#UKA~7>Nkt*^_ zk~2Ik@mlB^0GsR1`j5_9IqTCE?cjcjmk$~RRgg!+NT#W2~Yg%7Jl2C%fr1f;F6(H065Xitlk{*E6{I>HYvB(vgE@2jN#_UX`+g+BZW8|%Z zJy(zCg+V;G4%tCLyXt2U98odrX`fP8A(;eE#n6j#WOj~p28zgzu4_alxV`=PYD*ah zWR+NLd@01q#Y+*{iX)`H|l}{L3ULC8)*8`yl8>@i? zlTD&@pJpIusBlJsP0e0rAr4vT*ll82K6Ia9KeEHW-ODN}A1krQ5B4!@cF8F*f70L@ z;?`1S=usT>`J`}w)ts3tk12N!0-e`z7|2)}$y?&RGAqiCicbe4uWZarZ6vG{Lx|0? zbK@s}cr_XTfJgIVH~bTe4(1Rm2>Z|DPZ)0L_D7Oc5jCN8-HP?;f9czB zHxw9p&v&xpwiKtoDk~QoWH4YOrdr2Lh=jR5rr?WgF|6P_@5T^%$K2;m&1xj)OIoGd zS3-6&NlT%j4L4#jM$YWqW4ppPUmH3*`6BI4-xR)mheboTCO3h#bM}y?JABZhbjwYd zenoypQgzAXHHot9gdV{+PrKcf$em>rqUg6&QOc`GJ8sdc-^44J%s9f=DAHnpUV1io z#;8?BI;mJ57;eUzcRibQA~=LYsiO( zLw$_#qubdx46q6RVlR}Jmc)FPo43UxD9vRgLKYo4Mcn2**G_MZ6*9I)-qnp_T0U;f zZmMh**x33q^Q z1ODn7-$K31&2iZJt?Pa}F?-rA7R4|mn@b~pmik#dq=xe5rt|jt*mhXN0AVR>c8>_xXvf(`ayHuZ3paTC zh+!)q zE^Y1;_mX%E>9};svDs1;XyIfgyFxGQl0Ja3nnGq}nf8uiI9|)x)8r_8jrLh*6}YAj zYWwPN$*I@*Se3zTXT&u?fSoq@$^&iq^T}Eds_54f%;D2Tw3IE! zQ#E-O=Oz(6Azz?Yt~&754Fp8qSg%~&@Nfd=8^YXsBn5*^q-6|jYfJ<(Iw~q1Pl{~Y_U{}oUl6`$+yvrB< zkWZ8E&w=&UfjjEWMh+@2ZKmsxMU21$oaJ_l*r)gov3~C5%9|De#SIDz3eNQ(0@s@O zbc{>b(&rrX{jh63Vbh)PRrUk9p?)+k>ECA3YSp6R^|v}bA+}n&!w_EN z_9(Y|Gc=um1=w`uYMG9sd0b7@q|i{t{*m0E(C%c(E3l#;_hXD2@=Uk&axJTswF24h zZDaXVRXiLkX~yqsWrl5opJ$X`Zk}OAJ)^F0?mofp_9Y90v6*FmS2RyCCB{eILr(0Z zv{(y8>q{RCV8Vs#OJuAn!pSbGmT`Dq=m1TMgf|0+eqTCgNiEav2Z{W!)w6Ck|R)gk_JN0i8h@7VFZ zO}?~pvQZf+CTa0W@Lt6;nh84;g`Pw|&<6e&7xb_JN$wP<2Gpa7C9Y@GF4I+o`aG~<6Oe2+enMW+?}6+$SHw| zh3kX^t(A#IubQBOYH8QSk{@U&jpJqb7gT$ug#455LKHe@t*lgPd(%mfNHOw>`OCIVhhP&5spKdfPsFH^sH%YvHB`%TFP5A{ ztU0MUq_aKc=T_D$U4~jmG|)2%JuYCakDDYfvkp{(4omClTRj_dEVefNa<4aSI@{2g zv3k0Kro0<9XhcA;uiuV+HIX?^YuYAI)6c14;UdDo6Zi2QqNceA8s95w!4`aO74jd4 z^H8&77I7|@*2R>iZHKxVJsz}L;Oea}h`!xVg;Oo}`%a{iL>A6^tf=tL^DT%0mu}!x z&Cz1a0Tg8<9zG+>4zarxg~AN`=uem5rVZimgJU-jFUhgy;s-Ci zmF*$g!80wrqQsT!Kg`9DXC?c77K63pL~&oHG-a+h_OSz_k0n`zdC0Um%xEl0GG^eC zK5{i@SaV_r*(T%z)S$G=;k}8xxvK>7>M6A}2F6O+wBF&fY&=d_Z-WQFGPF2FI%l2% z%?SDVg5Olx2z$Yv-u%?lwfyUlN_C${pXrnpSj)xlW%~~}K9mM+(taR&&+3-Zu|Z6! zr`Fy6VIiy`>x~B`ivap!YTKJBZx-@p3G)2*G*tcrLLP^{JmmZ4aM5kj#f-(;V-EdU z(M+wNolJfbaw`4LLi(0!Eyp6fYl}Tx!eNyCiDsm|FMVdJx>BCoJW2ulHKo4>lJ*2{wGLm%f6s>~li$ z&Dd>KdT`I*yA1im;6r3qz8Cx-Zp0pN6rPOv4KXiXU2Z1X_aUd|X)E!47N+3i_9$&C z4TYO{gkN-2O*`U}h)kUt9FRyebEVX35UzmHIA-pOQ(YfS^ zA1H21BGY27_^8FiBM~T#-yXJa?v+f~?c;thpo15~@csSkN9ld!35qt3L*FxohOlT_ z4%nrm{P93j)hah%ezEm^L@GgP5o}*jZSc{e(8} zYfgk{h#Pn+e~mLiHkpTlBC%L4$%v1|5%5j|n_hra;Y47SO=AWOcHTIfzs%m98mE?? z9A%)kk8tkA^sVmKU(}BP_it{~`sJ+;boQyQL<6;~MasewA|1=FXT|#VfeVKulkHy{ zT%naV{Aqw|cv#?NO$iNVd#kGP$0tH0v{uU9y<9kLkn>*S1Ks6nZm#fE!EYfv()M5t z9QyNSbgMM&-lqW}t+!H}P$x~lvhUWRXH%q(UtVCUmG5BxDwDgcX;e!fN_h*!g5V+K z1{1ikiXGg>p4}L32l=CS^*@yXfrZ$Z=gO^Agn2q&uOc}|W;=wrl7T+lZ>>O{n*@{&R$ zMYF<>oT4QYV(S^lnOZvC?4Qs3;8F9Pv}{<9!|RiQZ-mCZCsg?n^^&f(T4ZvmqDlDB zo_Pxlerl5-5TbvRRgD_tMwLkrQ-+i;syL3s->TvZTw{5i^}ySm;(^62`9^HC8m9AD z<0#|K+kPGPdprI_{+}$8@)8|5J#HQ}!M;T5kE`T4X<@5G+s1RDjE(13!^KdcxbT<) z?8pG85TXj}mD2`-X87x-`h?nbCtf%Hy=F9pOH#8nS3CDA{dY9f-8^(*9EtF5meiQo zKJd)CcVCtGC6+7ZKIO6rCruiXbP&79(|y#x$J(E5Q$sln+z$4H40htF_e2kxR=P-4%K3CyWr`xY6=Y8{mrBE?jiDdif!E2Vo?6umVOSvfp5 z<@P;d)!pSnN^Xw)3HT^#xLqY=Et3!xNCqW7iF28p)Au4mjlrnc=M)3I_F0wzd#EOp z6PVcfpgsi_Nh!o?s%Bcf1>t0!FaBGp~}xxRkKaZrCC{QaVb@n z(1>7Ow9O6|AZX#v_lJEYS;oeD+KcW{Tc=hSd%vgAZ zvaF71`&BqA;9U&tZIH3R=>YUpn*AvX@p=dKOJu_(a@+MTlpD*(^rM1py#o7P9Q)7s zXMEvL><9P^5|u9=xl`1cAhy10$E|^89ID~Fij#`fo+@5=}o$H%%gBET|Z?OJ^FA_2}Qvg62^QZCuqc;EU z=XcTZFHe5h|GtTTNRYpK`CTsh%ga54D28~H-^HWf9sFK~{^j8G{!a&g6{SB+MSt@8 ze`0&OKP;&bb1%uiOn>KoOu&z`0EFcJ003+w+*3Q7Mr5#G$L}}zE5ZK#+D1|U;2(7R lyZNta^6%z+6n``SBWbEApdt_e0AM0M*$75Iq5Sdd{{XZ{XoCO% literal 0 HcmV?d00001 diff --git a/tests/data/Reader/Xml/XEETestInvalidUTF-7-whitespace.xml b/tests/data/Reader/Xml/XEETestInvalidUTF-7-whitespace.xml new file mode 100644 index 0000000000..143591d74a --- /dev/null +++ b/tests/data/Reader/Xml/XEETestInvalidUTF-7-whitespace.xml @@ -0,0 +1,2 @@ + + +ADw-+ACE-DOCTYPE+ACA-foo+ACA-+AFs-+ADw-+ACE-ENTITY+ACA-toreplace+ACA-+ACI-xxe+AF8-test+ACI-+AD4-+ACA-+AF0-+AD4-+AAo-+ADw-sst+ACA-xmlns+AD0-+ACI-http://schemas.openxmlformats.org/spreadsheetml/2006/main+ACI-+ACA-count+AD0-+ACI-2+ACI-+ACA-uniqueCount+AD0-+ACI-1+ACI-+AD4-+ADw-si+AD4-+ADw-t+AD4-+ACY-toreplace+ADs-+ADw-/t+AD4-+ADw-/si+AD4-+ADw-/sst+AD4- diff --git a/tests/data/Reader/Xml/XEETestValidUTF-8-whitespace.xml b/tests/data/Reader/Xml/XEETestValidUTF-8-whitespace.xml new file mode 100644 index 0000000000..6dc0e5c3f3 --- /dev/null +++ b/tests/data/Reader/Xml/XEETestValidUTF-8-whitespace.xml @@ -0,0 +1,4 @@ + + + test: Valid +