From 9f8d4d980aba4fc8110ffa936d5c25612b418b3c Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Fri, 23 Aug 2024 19:12:32 +0200 Subject: [PATCH] feat(checker): add libyaml checker (#4377) Signed-off-by: Fabrice Fontaine --- cve_bin_tool/checkers/__init__.py | 1 + cve_bin_tool/checkers/libyaml.py | 20 ++++++++++++++ .../libyaml-0-2_0.2.1-1_amd64.deb.tar.gz | Bin 0 -> 6600 bytes .../libyaml-0.2.5-15.fc41.aarch64.rpm.tar.gz | Bin 0 -> 4902 bytes .../libyaml_0.2.2-1_x86_64.ipk.tar.gz | Bin 0 -> 6128 bytes test/test_data/libyaml.py | 26 ++++++++++++++++++ 6 files changed, 47 insertions(+) create mode 100644 cve_bin_tool/checkers/libyaml.py create mode 100644 test/condensed-downloads/libyaml-0-2_0.2.1-1_amd64.deb.tar.gz create mode 100644 test/condensed-downloads/libyaml-0.2.5-15.fc41.aarch64.rpm.tar.gz create mode 100644 test/condensed-downloads/libyaml_0.2.2-1_x86_64.ipk.tar.gz create mode 100644 test/test_data/libyaml.py diff --git a/cve_bin_tool/checkers/__init__.py b/cve_bin_tool/checkers/__init__.py index 8a31d8df78..285ea99c02 100644 --- a/cve_bin_tool/checkers/__init__.py +++ b/cve_bin_tool/checkers/__init__.py @@ -210,6 +210,7 @@ "libvorbis", "libvpx", "libxslt", + "libyaml", "lighttpd", "linux_kernel", "lldpd", diff --git a/cve_bin_tool/checkers/libyaml.py b/cve_bin_tool/checkers/libyaml.py new file mode 100644 index 0000000000..086cad3738 --- /dev/null +++ b/cve_bin_tool/checkers/libyaml.py @@ -0,0 +1,20 @@ +# Copyright (C) 2024 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + + +""" +CVE checker for libyaml + +https://www.cvedetails.com/product/27063/Pyyaml-Libyaml.html?vendor_id=13115 + +""" +from __future__ import annotations + +from cve_bin_tool.checkers import Checker + + +class LibyamlChecker(Checker): + CONTAINS_PATTERNS: list[str] = [] + FILENAME_PATTERNS: list[str] = [] + VERSION_PATTERNS = [r"([0-9]+\.[0-9]+\.[0-9]+)[a-z_=&!>|()/ \.\-\r\n]*tag:yaml"] + VENDOR_PRODUCT = [("pyyaml", "libyaml")] diff --git a/test/condensed-downloads/libyaml-0-2_0.2.1-1_amd64.deb.tar.gz b/test/condensed-downloads/libyaml-0-2_0.2.1-1_amd64.deb.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7a91ed8b45542a95121e1471e9c5c4b522c00dd0 GIT binary patch literal 6600 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 P*kAy$yb~CZ4*>iR!d&b} literal 0 HcmV?d00001 diff --git a/test/condensed-downloads/libyaml-0.2.5-15.fc41.aarch64.rpm.tar.gz b/test/condensed-downloads/libyaml-0.2.5-15.fc41.aarch64.rpm.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8519f6d3367f007b3a9a391b879311b4e372a848 GIT binary patch literal 4902 zcmV+>6WQz^iwFn-00002|7>Yud0}mAEif)JE;TJNH7;gjG%+q=VRB<=HZ(4BaBVJh zVR8WNJ8N6pO3r8B{e*sn6DYSsQlJ463d9M}mKM?y4880*btblxxHxv=INVOl{`FUy z89R33K+o=Zc0VkBn0Q9gXfzs0qp{6!;6Hcl=4OF@Z&}yLt>y<_em%dMFa7ctU8{I) z77F~1*Vz5V#@6~q2ovzN^%rZazbLD}{0FY#AYeWY|I7d8_0PlOSO537zx^HX4zFwH zyu3Pi4}WBX+n$x(&icJ>b|vewE;Xc)AmGaK2e#)TY!$6#Be%AZZyAL(#4z9J*nwpP zL!Y`ZYHt=0;SKgVN26zLKlip9fR<^batJxoruPUo5eE#tXuC@XPl#3Ve z_V*R|!46w+^ZOt0ZRZo*Y%GJWx4WLJ(+UQ<4*HRHqMMd)we3M*`P#|8u)|F;&U7-vU`jRBL##0DP&lq+IF@*~ zb~-z(vcWW2Pf_UVTQw=$pTAn4qF)S z$ViNCFG0|<0;8jMJ>L?xJV-h`dQ$?xZ^Xxq7=;>dIm1CGLF{AruNxcG8umV~m3p@KN6q*;vz(-rQ`2ah*I#x{BDXS^PMEc`YdPAL= z+GiR(luL^X#_mUV8tk%E1lAdVmQ|p>@d>qbA!emft*L^=5Na3Gd9M)x@7fg$mURq1+{sS%^nG`B=oA5g6CBDc4jjDNu?V zhX9u0=nl=IT!6QC87L62xS8eDj4VMGYEub2H6$Yg88vHUsWs6k5QbP1mFSsi2$d5g z1folDzrj|C57dwKI5ffa{9CF7Jd<9S5rC{Pu=2PRQ!EvEgTQsk&eR2Z4 zXSghVb_*Iqi}_yMI)F-t70Z!GYN@eQ+=BjMOR(jBqlH+8sE&o^(P#?cY0&s^MLrf% zY!tVu$OUIWB>aa@R7}|jYkhT5v_gIFQiF;qIiea-a71uLBcj%YGU0I6kO>o zUtl_%sfp!lL@m|tLcijQ26qU#b{w!QS``%ciYmI$csL$7EG`%)kLyN@Gta2m zXtE)!5c1?*d8@B1i{Tg_TfvoE1`W%Y2uTUboBPQr(z>I|@zRuy-R6ZDqmUH7%nK(= zRJgiBwD7V7N;Vc@w^4)I{dP1R8h256aV=bzHfWYKj>=t^?<#ySi<>vb-7*f zCiSmPtC5=(w-m@=Al-nzeFFVAGpMgK&;%IW<6Gtn^+CCSGsQO5TYW9P%D%|E-LUTG~1nSZL6iFIT6p?4sIsuoTfbF(@gkSoWaK)?;hW zF2Xrf8=-1+UNjnmyp4r(4lzPtoeNM1hvR$bogmV5g*L@X)YudaX_I9IEb2OsH-)&zG9Ev$#JIlFKTD zM=g+S;jBVoW+@W*k=>{7a#}ecMMZk*FV1jj>tdxtpQVj|0XEBXLK-GLJZVwYhMb3! z1cVxhY-5S`-F{^c!-`bq{xp5*{5^iM+? zUsFofuVmwXhvO6)>lN%fiwr+Np^W)LSrb|;qX#!u_&}H0B4iqQc#klVx9}}R`GjF) z9kdMUJ$r-u$*hTMQSG1wgq3CogM3GU&vzy%6S=HI;Trv`@dBFj2&k4&$(VN&a*iJkD4jheIyjS*bSu#hbzpgM7%5jO7gF&8#uEKjuLkN=a^`^NOAR| zs7H(YuQDu%X^E_+h|}VPG`|L(K>ADb=zjNdsp{zHl&r@gi<}Pk35r-1$Q8GU>o+EJ zslu87Nacp3Hts8;&oUnPM&J{^PgJ;?X;pbJrsD;d8@cTYZmgL7uJRp-BJQZa#uB5% z)b^9G0*y#~*(G`*7kXIS;wp-wRZ#?nkwViLnJ8?Xw}?V7Dlwd3n1qdZ5dUQ|cMKU~ zw$aeZF8#*$)S-DuesI1lEAt|B;uDHQS6MlfCeUiU$-D5mXw57o`M+ZMAZHhv-CG{e zW#IWY7GTm;laSQbY?@&=CLoj45;B+8U+VZ1M#R%}TZw*fsjT8=D$!#SJT&tuoVdqw zBAz})MkXZ5JbO@Mjr6cIU7nb%eBi(4XL4$VP}aDV>;Wq}DANn&Z^Y&dy6qmozO z)9zBFCn81u2t$JFbaeFNR52tEa&-}oI2CVka-u3ULXZ}N)kU@@;Z0d7&w_%R9_>Db zGPQS5oD$ww;LThWGI($}m=otR-o~Vv+KX7PsF*}&u))@a3+s5=r#-iy5!+fnlLOXa z;l9A@@$D|Hi2b_IXsSGx%f}A)A|GheolK3Q=6eROc~uhUe;jXAw>@v*wv? z<~R9>OQu^UPq&^y$1a-uj9IZe#SCbsOg#_p7R4ip_MIr2vXFd^K)^zn?#C1DwmeFN zxn`dL8D(+uQN*b_#*-h6<461g8++P73_IaNh4e>kjKid8jfs=Vb;ourg&vx_w%b;i zGO)Wngj`y;V0c5vR9r7mTDEH{)=kec0?SkuwikfEX;Z`tN&a>g^7-fZH}H+;tY_y9 z5Kq)0Bks99dWETXm}@!+6))=e3$zdv5k@b{Rh&wGA*WqoyZeR~l2X;7=50`0OMgzs3CJ!O@q6TV={?a^DFL0-uHs}j-e z>`u@GUJp|H{Uhv^Tl+mvZ|O+^pDQQF`q|;>`C)DUP_Ml|I0SmX^OyjfX3F65Ezn~u zLb5+K1=(q01}BvdAC79T#RSmK9~+!VrVPy2^0EGcXbOjs*N}f$e&je44ufoLQ*jVT znmE^9<%)`j{um(6@W^QcD-MnpKI$9z%yuR_hm75J&{4b=#sGnz=zlKWE-OZd`OFBo zREd$-HeUkN_c+3?)J_ngsS1A_BNMPD{tTc(Up z_CN_d4_RPL7>{(WA{{aXL9d#@w9|qgb9x=tv;x~uJYR8fL4B-_raci*`$LcV$#<+R zZ;0Gtx(SU!!BK331zrjbh8kKJ@y1<_Kvwe50GFRd+`-ZpH#=XF)hRHGKXf= zv_dvhS3Y7)FO(;y{EYlei6Wq6X5FCtUCX)U>!HZcQ^En$1sfxp7-=-dw9P7_Q0V(2 zAju{b?0Rl)w6M&1RAHvwwgWPNh5SN{SgX8F(FQ_ef~GUPrtg^sJ!U*kK*ORNTZ;Io zBe~#X(@p1vuE$L-$!J3GrsElxNxNdW3pQhBaNV)c@z7<&hbk!4W7Dpj}1#2*&E4C+30qaqKnYd4euEARlq=hFF!l}N+8ZCD<@sC;WEv;CV7>U`pmZnK5&`%;#OpMpN>+{#}%kP6W1r@vh~tw(yq$>e6o6 z=-QE5&-N?FmHLVjCWyH+ty0%k6q#;?P2^WOKB}C>q@|B;xU{ME5~U&OtGTeUz~k`m z3sWr7@EnIiBKph}4!MQc=9|tW{Msp<109x9Wq-I^DEg1k`^_OKnx{G3K3-x6A6MBk z3`~Hy5(X9;iW!HDcOBbqCeW#Svq;A{1bj7&S9yJlLtNlSj(?rSqGXbL^0c_j5c#jL!P>6&{73 zv9@hKTYX_pc;lGqj-w}b^z-_WOmR(lPKu>4hUXKb)U#L$S?aMXJtB~m;?Sun$D=7E zc}L2`l1@4HAYt0)*-sy2{||nU{q!aF)0f!Ozr_BDkF0;<<7z%}5_`&L*KyJ)1)0Fa zZDbM~Tl)0z2S4{g_rxdMu~kca*`(To{uJFz?&zm^j@w!F-=5dO z1MPzcVCj7RYCov{m)HDtWe#4jwdg+iKd`yPe>djC{|Paz=CBQ0cb~pMr>R|oxxTqq zg)gNFtoiTY^5q)%>n%9Co`t*18Z27p%TSnIP+_K1SXqYl<}2{8o`bVyK-al|!?mxU zq5Aq9?!VUHw7m^W&K`U@`Uv^=>+r|b9@v%p7q8&AausToa(Cf;7p^w zdIj}{Jp;?z`2YrU2hbeWVfFYU9Q|?r12#9bDr9%6@Gdxo7sESX#|m7ZEx*Av&CZxR z@KX5%`dJq?=56@$)nYGhVC~{FIE@SVcr}EVtsn3{^94SXE3jC|eT4Ou-)#6=_ye-D z_pp6khs}Hq-Y;F=!FJ&cE(^zS^Rft5gnrUdnvamm^ia9oGsPM0@t-N9{F+yh@=!vDdHH+01Lmcxip)_P9B zYrcR{ssVZa@G*}$zKu8!w_*l)tE0Dk*0uDG>5p2Xht7PT-HIMzoq7>tWWWVuUE4rm zyg;BJ-y95JG`~CxFvD&R14}@4ZiIMvxr{Y=$6ubVr|ao@x}L75>*;#Bp020s>3X`J YuBYqidb*yjr%PP_4+l-i8~{)N09~nt+W-In literal 0 HcmV?d00001 diff --git a/test/condensed-downloads/libyaml_0.2.2-1_x86_64.ipk.tar.gz b/test/condensed-downloads/libyaml_0.2.2-1_x86_64.ipk.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..83f1d2ca4ee598735c6058c5ad43fe485c585aa5 GIT binary patch literal 6128 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 literal 0 HcmV?d00001 diff --git a/test/test_data/libyaml.py b/test/test_data/libyaml.py new file mode 100644 index 0000000000..21ee950e3a --- /dev/null +++ b/test/test_data/libyaml.py @@ -0,0 +1,26 @@ +# Copyright (C) 2024 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + +mapping_test_data = [ + {"product": "libyaml", "version": "0.2.1", "version_strings": ["0.2.1\ntag:yaml"]} +] +package_test_data = [ + { + "url": "http://rpmfind.net/linux/fedora/linux/development/rawhide/Everything/aarch64/os/Packages/l/", + "package_name": "libyaml-0.2.5-15.fc41.aarch64.rpm", + "product": "libyaml", + "version": "0.2.5", + }, + { + "url": "http://ftp.fr.debian.org/debian/pool/main/liby/libyaml/", + "package_name": "libyaml-0-2_0.2.1-1_amd64.deb", + "product": "libyaml", + "version": "0.2.1", + }, + { + "url": "https://downloads.openwrt.org/releases/packages-19.07/x86_64/packages/", + "package_name": "libyaml_0.2.2-1_x86_64.ipk", + "product": "libyaml", + "version": "0.2.2", + }, +]