From fa0228df9beab6f3c5da4a82f34374b2ee10df4b Mon Sep 17 00:00:00 2001 From: KaraZajac Date: Sun, 24 May 2026 01:17:58 -0400 Subject: [PATCH] =?UTF-8?q?release=20v0.9.3:=20CVE=20metadata=20refresh=20?= =?UTF-8?q?(KEV=2010=E2=86=9212)=20+=20dirtydecrypt=20bug=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CVE metadata refresh: - Added 8 entries to core/cve_metadata.c for the v0.8.0 + v0.9.0 module CVEs. Two are CISA-KEV-listed: - CVE-2018-14634 mutagen_astronomy (2026-01-26, CWE-190) - CVE-2025-32463 sudo_chwoot (2025-09-29, CWE-829) - Populated via direct curl when refresh-cve-metadata.py's Python urlopen hung on CISA's HTTP/2 endpoint for ~55 min — same data, different transport. dirtydecrypt module bug fix: - dd_detect() was wrongly gating 'predates the bug' on kernel < 7.0 - Per NVD CVE-2026-31635: bug entered at 6.16.1 stable; vulnerable through 6.18.22 / 6.19.12 / 7.0-rc7; fixed at 6.18.23 / 6.19.13 / 7.0 - Fix: predates-gate now uses 6.16.1; patched_branches[] adds {6,18,23} - Re-verified: dirtydecrypt now correctly returns VULNERABLE on mainline 6.19.7 instead of OK. Previously a false negative on real vulnerable kernels. Footer goes from '10 in CISA KEV' to '12 in CISA KEV'. Verified count stays at 28 but dirtydecrypt's record is now a TRUE VULNERABLE match (was OK match). --- README.md | 4 +- core/cve_metadata.c | 67 ++++++++++++++++++ core/verifications.c | 4 +- docs/RELEASE_NOTES.md | 30 ++++++++ docs/VERIFICATIONS.jsonl | 2 +- docs/index.html | 8 +-- docs/og.png | Bin 125647 -> 125598 bytes docs/og.svg | 4 +- .../skeletonkey_modules.c | 21 +++--- skeletonkey.c | 2 +- tests/test_detect.c | 7 +- tools/verify-vm/targets.yaml | 16 ++--- 12 files changed, 134 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 93069ef..877f04c 100644 --- a/README.md +++ b/README.md @@ -202,7 +202,7 @@ also compile (modules with Linux-only headers stub out gracefully). ## Status -**v0.9.2 cut 2026-05-24.** 39 modules across 34 CVEs — **every +**v0.9.3 cut 2026-05-24.** 39 modules across 34 CVEs — **every year 2016 → 2026 now covered**. v0.9.0 added 5 gap-fillers (`mutagen_astronomy` / `sudo_runas_neg1` / `tioscpgrp` / `vsock_uaf` / `nft_pipapo`); v0.8.0 added 3 (`sudo_chwoot` / `udisks_libblockdev` / @@ -232,7 +232,7 @@ Reliability + accuracy work in v0.7.x: trace, OPSEC footprint, detection-rule coverage, verified-on records. Paste-into-ticket ready. - **CVE metadata pipeline** (`tools/refresh-cve-metadata.py`) — fetches - CISA KEV catalog + NVD CWE; 10 of 34 modules cover KEV-listed CVEs. + CISA KEV catalog + NVD CWE; 12 of 34 modules cover KEV-listed CVEs. - **151 detection rules** across auditd / sigma / yara / falco; one command exports the corpus to your SIEM. - `--auto` upgrades: per-detect 15s timeout, fork-isolated detect + diff --git a/core/cve_metadata.c b/core/cve_metadata.c index e33e191..1675ed8 100644 --- a/core/cve_metadata.c +++ b/core/cve_metadata.c @@ -220,6 +220,73 @@ const struct cve_metadata cve_metadata_table[] = { .in_kev = false, .kev_date_added = "", }, + /* v0.8.0 / v0.9.0 module additions — populated via direct CISA KEV + * + NVD curl on 2026-05-24 when refresh-cve-metadata.py's urlopen + * hung on CISA's HTTP/2 endpoint. Same data, different transport. */ + { + .cve = "CVE-2018-14634", + .cwe = "CWE-190", + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = true, + .kev_date_added = "2026-01-26", + }, + { + .cve = "CVE-2019-14287", + .cwe = "CWE-755", + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = false, + .kev_date_added = "", + }, + { + .cve = "CVE-2020-29661", + .cwe = "CWE-416", + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = false, + .kev_date_added = "", + }, + { + .cve = "CVE-2024-26581", + .cwe = NULL, /* NVD: no CWE assigned */ + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = false, + .kev_date_added = "", + }, + { + .cve = "CVE-2024-50264", + .cwe = "CWE-416", + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = false, + .kev_date_added = "", + }, + { + .cve = "CVE-2025-32463", + .cwe = "CWE-829", + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = true, + .kev_date_added = "2025-09-29", + }, + { + .cve = "CVE-2025-6019", + .cwe = "CWE-250", + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = false, + .kev_date_added = "", + }, + { + .cve = "CVE-2026-43494", + .cwe = NULL, /* NVD: no CWE assigned */ + .attack_technique = "T1068", + .attack_subtechnique = NULL, + .in_kev = false, + .kev_date_added = "", + }, }; const size_t cve_metadata_table_len = diff --git a/core/verifications.c b/core/verifications.c index f3bd9b6..5eda852 100644 --- a/core/verifications.c +++ b/core/verifications.c @@ -82,8 +82,8 @@ const struct verification_record verifications[] = { .host_kernel = "6.19.7-061907-generic", .host_distro = "Ubuntu 22.04.3 LTS", .vm_box = "generic/ubuntu2204", - .expect_detect = "OK", - .actual_detect = "OK", + .expect_detect = "VULNERABLE", + .actual_detect = "VULNERABLE", .status = "match", }, { diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 0ad53c7..e262f9a 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -1,3 +1,33 @@ +## SKELETONKEY v0.9.3 — CVE metadata refresh + dirtydecrypt range fix + +**CVE metadata refresh (10 → 12 KEV).** Populated the 8 missing +entries in `core/cve_metadata.c` for v0.8.0 + v0.9.0 module additions. +Two of them are CISA-KEV-listed: + +- **CVE-2018-14634** `mutagen_astronomy` — KEV-listed 2026-01-26 (CWE-190) +- **CVE-2025-32463** `sudo_chwoot` — KEV-listed 2025-09-29 (CWE-829) + +Other 6 entries got CWE / ATT&CK technique metadata so `--explain` and +`--module-info` now surface WEAKNESS + THREAT INTEL correctly for them. +(`tools/refresh-cve-metadata.py` hangs on CISA's HTTP/2 endpoint via +Python urlopen — populated directly via curl + max-time as a workaround.) + +**dirtydecrypt module bug fix.** Auditing dirtydecrypt's range table +against NVD's authoritative CPE match for CVE-2026-31635 surfaced that +`dd_detect()` was wrongly gating "predates the bug" on kernel < 7.0. +Per NVD, the rxgk RESPONSE bug entered at 6.16.1 stable; vulnerable +ranges are 6.16.1–6.18.22, 6.19.0–6.19.12, and 7.0-rc1..rc7. The fix: + +- `dd_detect()` predates-gate now uses 6.16.1 (not 7.0) +- `patched_branches[]` table adds `{6, 18, 23}` for the 6.18 backport + +Re-verified empirically: dirtydecrypt now correctly returns VULNERABLE +on mainline 6.19.7 (genuinely below the 6.19.13 backport). Previously +it returned OK there — a false negative that would have lied to anyone +running scan on a real vulnerable kernel. + +--- + ## SKELETONKEY v0.9.2 — dirtydecrypt verified on mainline 6.19.7 One more empirical verification: **CVE-2026-31635 dirtydecrypt** confirmed diff --git a/docs/VERIFICATIONS.jsonl b/docs/VERIFICATIONS.jsonl index f44a18f..1322733 100644 --- a/docs/VERIFICATIONS.jsonl +++ b/docs/VERIFICATIONS.jsonl @@ -33,4 +33,4 @@ {"module":"nft_pipapo","verified_at":"2026-05-24T03:27:10Z","host_kernel":"5.15.5-051505-generic","host_distro":"Ubuntu 22.04.3 LTS","vm_box":"generic/ubuntu2204","expect_detect":"VULNERABLE","actual_detect":"VULNERABLE","status":"match"} {"module":"sudo_runas_neg1","verified_at":"2026-05-24T03:29:18Z","host_kernel":"4.15.0-213-generic","host_distro":"Ubuntu 18.04.6 LTS","vm_box":"generic/ubuntu1804","expect_detect":"VULNERABLE","actual_detect":"VULNERABLE","status":"match"} {"module":"tioscpgrp","verified_at":"2026-05-24T03:31:08Z","host_kernel":"5.4.0-26-generic","host_distro":"Ubuntu 20.04.6 LTS","vm_box":"generic/ubuntu2004","expect_detect":"VULNERABLE","actual_detect":"VULNERABLE","status":"match"} -{"module":"dirtydecrypt","verified_at":"2026-05-24T03:55:18Z","host_kernel":"6.19.7-061907-generic","host_distro":"Ubuntu 22.04.3 LTS","vm_box":"generic/ubuntu2204","expect_detect":"OK","actual_detect":"OK","status":"match"} +{"module":"dirtydecrypt","verified_at":"2026-05-24T05:16:27Z","host_kernel":"6.19.7-061907-generic","host_distro":"Ubuntu 22.04.3 LTS","vm_box":"generic/ubuntu2204","expect_detect":"VULNERABLE","actual_detect":"VULNERABLE","status":"match"} diff --git a/docs/index.html b/docs/index.html index 7a10a88..799767c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -56,7 +56,7 @@
- v0.9.2 — released 2026-05-24 + v0.9.3 — released 2026-05-24

SKELETONKEY @@ -83,7 +83,7 @@
0modules
0✓ VM-verified
-
0★ in CISA KEV
+
0★ in CISA KEV
0detection rules
@@ -227,7 +227,7 @@ uid=0(root) gid=0(root)

CISA KEV prioritized

- 10 of 34 CVEs in the corpus are in CISA's Known Exploited + 12 of 34 CVEs in the corpus are in CISA's Known Exploited Vulnerabilities catalog — actively exploited in the wild. Refreshed on demand via tools/refresh-cve-metadata.py.

@@ -598,7 +598,7 @@ uid=0(root) gid=0(root) who found the bugs.

diff --git a/docs/og.png b/docs/og.png index 7e2e510fb7613ef4dd242a3431e61d592e8f279e..ed5813d682d2927b51b3213440d02445e5417b09 100644 GIT binary patch delta 57823 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 Ang9R* delta 57813 zcmXt8cRbXO8^24T5M`4UQCZo0C(0^Z_TKaCb@)&sgzW4jWG9^LRU~_l<76HVXPozAeqzy(WaRN-9{L zDH;Tun9Q{m<{k{o09OTy2)|jaA{;M>J5v`KFcS#Z%PtJ|MKtb!q67+ogb6l70|vn0 z5>^*#AYRzG%rRHp`AwC>fVk;4%IxX0ASz$>h)#p;aJccL6qUta19jI%v|)e?FcWi!fI&5E-wD+1 zMwP{Yq;P#52svxY?jQq=tBhmUfLQeemTRCqHi4$GT!gZRw_WU;%EVDQE|AZ^!=5%E zG{uQ*D4Ks-p&jhFuF@g~+UL zc|jSG_0e}KyxJS>tX6x&@wtKp9+^Bb04cbcL3Z_bHYp)EdWGUD$bSNGu?~Tco7Z+; z?I&&tUoV@Z&1wuqSloCRfmlH4!n;>`aL3enKNX$bWOfQBUYyc{ zqIP$8gDoR7{n1HtNXZsAKRvw>9rPUIm+&oI{c`(xrH8ITC+o>^ZLqbC2TYdkI;i*N z8O^@`A_CQD;7eqfEe7sBmu;qd22wOgeuTKgvHl57NAuZP@^2rj=_Tjy=(|qy%V8?t zA7t27=~6rqjTluoMvv z3{osZSDn(?*y=j=c8gP2DY!yq(?@=w5ROgl_O+YsTJBVNaiY0b{K#*4=vUsm|!TP5(rz(f|xSx7Mcagg-g8haf^t=2^ z|7@KbtXHo3vkDL(kdi=HB=*-LTBNJhZS8B_()l|maeGvKtHDDbC7^Ou-y1f;MYmBM2J-{^qMMTE+Y%mKW#@>dJJ@Ga(pXZ zEp7tBs6mGtMMbSUyTMXY`nfaGCy7PC)fMdl;V617Q3KT!9C?9JmUP*=2kPc3idfUe zioH<-b@%Yb5ij=Wv#oq~hIb^CN%3Py+&U(Mb8lK1HtM2s?xy*Qy6-2N*meX{b$bk> z-6J4kvq#P0KWduxtBP=ATuc6Qqe>1`zAjB8;UpT2MN{|#(7*X32ag@h5#Ug&=F&op zCT2@lE1-rU*@a!?>avRBmSF_j=dHCQ3?Ud;g^&GqII0UjAF{z=>bzH)N_@=An{)}k zREX%koCXj`1-8vx%|ZFV`Vw+}xVT~&*7G2pjU9?>vxtq=;skb&)SI((`Jk-_{lPXc zUXbn3x$s!mMR@ViSs}1Z*k4?+2F?QMcLl;X{cSG$N%&bJ86E_xthA26DIj6%BdxV5 z9TmTyDl*q9lX$tVC_vrx1}eA_43Sxc<^63|!@C-zY7|*qPXKPTY|=-XamOl9vD#8H zEt#O>tM?at+@4`{UYSY}P8Cm4A~L<@6gY3KaWBbh!76zYKv@r8%dejU@bB?QQB*WZ zl<*E#ce98rmE=3|9sVbJqi9FngQ)M0G>GMRah}7QRN2C2t<@L((r;p8DZEra4LTP_ z9N`2-+8cdJ2NH)K)}*q_sOzR$|ZQMkBdcrlY+i(bJE zVs%7W9mYQaJ0>z66aHVy>x=9E5hh&r8}@|$qH!*yb5zxwCFIHRe1idl|LZL0%f6yz zr3iQQ4pmluhv(+sscg(*vr9;TJ1v+Q@=pawPqH#;VnaJ-tQ z95V6%BO8ADQX@jcV@Q&6wU7*77(%R|T{#7Vx>JCz%ViT}_*vJ1eVF!JqjUi&X3hMA%=A78qGx>N8WY*mejd!Wb@vw9&3d!4DMQwEu>eXIiqAvXQM9CYsL4#EG*1T3OmCiVRI>%3*-^9kk}JFn4Wtp5vDb@Qx}e5|AbnHEvP-2 z2fPK9A8z(H+Zc%8){97AK{24HHXwBDOD(RTL1C*on6P1?vMV=H^3Z)JwFU?y?v(51 zpsodjL0Q7qt)5~#lZXZYdXo~nw}KzxTEbNTtx}n~$jj9f(iDue>WZy5ehhgbtAaz7 z6K#1|J9*6(j~<*bi{^BFdUJ$9&3XFDxli3bq%%B6+BQ_prO&1&MysbO1=?RnsI8B!t?PGr2;|aftNUL!s*6|zz%|!z$4}X+ z87O1R{YNb!+x~^HqtFd{Z{m-GI;>I%2?qVy(&V&A+lf=5xXrP5uv0icJ}zD3RlR0I zx*F%=EPL9^B${|haoKf|M7ml;b(vdP5#oW%`8e-LQYRT60?CtdcwNlAtBfRMLYM7E zaik3wY{0OW%@3dFCIAezywZX0?jaMvpHJy|RITJj;V z&tv8H-4<=NgvEby7S~1#Wq8GZ`?idG=M`4oi~WiQx0y$|y#v^1%LMH#+ur{v6DZ=s z=e#DVl5FPkI9=@hQU{&AyVe`JuKMbJv{YAC?l)`+}ai3Akc@CgyYdsNv?5Q&NWSRBa!v)G4LZ>0 zmin7VEO$|N8HNGj5#jUJ>p71*J8?+{;X70BSnPA9OWpjU$+4VE_?vsF~T>z;JMSct_%v zq^zXk)q2q~VT3EPZCi6gJ1Y`1P+FtV9I>%N#Jvj?%?b*C{a@;>W1LoD*ww6Pq`PB4 z4DjGfYU(PY^E5|`c>1#zU0E44x+Cjwhgo(87`X`FEP|3uS1ZZ`o6e|E z!ufL(nYw((xGM=!MSQA3`01bek}b9c%ku`C%cVsXWyALkf#&GmP^w+@F6})S zWpgA@Ak-^#T3kn}zq0%|(*9@iG0cneSCde96ZZ8--v$2Qty@{*4dU5pNu>aVS&jU{ zv^D(%jQ!i%vFrGgC~%bi{!<-_@y-h)Yd&Wc?;vIu^_%Q8Yu9QrNb3C0d&0gq|CHHQ z1H!{SE8 z%jf|ZEa+gl!wEHOzYd30)>bN?G;U6nHGcSz%qbTXKj0|b#9jS_Nq-fHy@?lK=t{%f)j!187%GX1C@Y( zO?q|A>E^Xq%W2hc?|acrWeq?$Huv* zj3g}f&%q2nBE?loLyvQYUhC%0&#TD(j6fyJNO$xQ*X^E?ytsj`AU>MGd#2Y#(s*;J z@-$k(jyH51q^EA5VBAeD*q`o6H{WUZeTztlPLBDGco~WEZg%R3R90(5aILo7M{sr^h$^1vv)XfY6+k@frNxs+H!U!D z*>r5(0(GxCXi0m9XQn$Le83gyvj}N`*a!2DA6P5dIj!Tw(bSQiD%PT(NoOks|6b5x zF1QW4z+pHyOn>vC=;|96L9iXVWftLE{I&mN#}9_aaDEeit?%6X3-g6DLH_Sh%Wts{?C8wWRq@_!V7t*kWD54CzjU3 zblc!3>kQL--?bL>AKh|#Imys%tBHKD(QhXeLF z@um-Zl>I3wZRShPi`iF#C*)8X-xxT(uy}#F!fk~?bP#f>R>7Mzrps>?GCWvZ5?6F_ zVkD$+Ko~Ogyd{{4tKd#i3z4NuzqL#S{+rIU94#pW_q<$yMn2klQsyS6M+Q2jIR)0^ zg6%oYUY%nUZWZ?4Dttq>sT$K}#CT(0+DhS{gpYgr&~gGR=Mrf)xyIh$cXdUrS<~sT zsnD$d7wp*xd%8E06I`C2giHqCO24;aNs+->AlpD*o(`<&gJ;r5SDI)Y{;4vjjAej8 z+@R-A)r=d`{&8IgKWg}~Q2_?uZ?N3@1O~UJpP@d285?4^(O|HBy5H_sa7F_&I{w-< zeY^B8`=o0IN9iR8N8s}GObi6fkdDUWgUcJG%hMN*#J~&X-oM3A6sT2 zSoxYhPZJU>M|RD?u9@{Z_}6uCS~HRoOn&W}zEbnnE${;}uv0VjZ7{<%@a=3KIxvL7 zRXSKQPo*$Bf)4!nn*Q_b3OaBI&%~X1rR!mFcGg%yxc2(X*vhDQNSIM3(z2#}dMVo5 z0h+CT2YjDXtKqXkHfC`1h>p(fO6Tq8S4MeKO=fQ)x0cdJ_w=*h+yMh3ITKUj)i1Wy zY&DuD#UNF6uYzg22?DF1GrI3<{`m9lIg1zlv4p$7z-5w`R#JMl=v^>7O9!h1R9=Qo z@AFf?Z?7TFznXG}`B$`|=_|Y!y1*oOE;WN0B;b-+@spmT09E1CV8z-+`^WA;* zI7VXK-Q@9X-e9MAwg^4g`PIGQvm1A#<;%^ypff@F#&E8bmrv5_42zM-j69>Fm7td^ zzQgbdVH&2Qy*Cx{*53x!zCC?wHF)vGcxLpK1KL$Yy+?b`kZ13OyFdMI+3G1gdy^jQ z@#2G7ZtnCf*EJ2+m8)k7j#;lb#zYHphmv;L&slQnjavlS8k0RZqy`OY?0)*QaD!LP zq#%!2fY65uEW&h2d|%lhX0I3xP-ofX*|`j08>jo?)Vz6m9xtk;C!SQ&qGMe;3R~1> zO6^^Of2TOloW-f~x7KOh(tVO=a(?#cOsYSvA}m-%8}-X=JXJXQ(+JCnB%34%^x4`- zw6aPm6*5cX^nLw8JJt0sOMjuRx4N!UiM+35wlyO-nE8i9XT8?K0YEA0rHtw zWI|9ff$Tj-Fe~%)v^U#qb14~N8T$3;OUXhwc~oXo{Cf61Ca|^nqsLZbXk56JyFLFv zUyS5}H`d2q?`nAT;

r%Q-A^?nQU9v9?NqW_rn88rSTYpe0_$q|pUM41pWb;pTO zFZU9@*h-^;d%N(kg7bOq<#AZi?a@lTdt=$tOyHM7Mw+dKb0;mWmGL`Ql*iZ@Z)V-; z(ltSab#zL%!&?zy%>+IxpNA#+!z_Y}*)N&Fj7(#7HHasl6z)#g@-46pqXka-D;GCX zvti6&OW@#z=U#Li1z&Cw!}Blye4eq+Bu$mSB`AS#?M!=8ueM!skeNEgY6A+p^mNw7 zCT(t}DSmHL6(>J>e_*o>4fGrPR+DPi5W4ozwfW&_74nxJ;YZJ80TE1St!DU+250yT=FuHIO&o8S$@K}p{8GBooDuU z9%|ej)HvHbdko1b7(Y)Us554v(#oW02=!%!=Gm?ITO}o? zikV};*Ja^Vs$@n@+<1ek(hK&4kHy!bdO8{O4+q7_v+0>M>Jh-#;Y1>kS zCPNJ6mAc__XiOAKOz9 zN?V$hoQ0M1TawJTm+7`5j8lsiO=oec)6@4MF##G@z{~yoTWMnb*@`zOxhtt;@+uAg z^#aCct;L=Jn@^9`TJ72;Gt54|_{sqD9v8lKP5xFcxi{To^BSb)z%L%sR3O32KI%*HvP$h0?at`AC%+IiSlnvFS^l;To9ic^za z`;=fpgIdxbuXGts=3Z>{y4jZ=Cy6>Pu|7e`(xOtEQSNPOY_KYkr_|vDH)LKV&7;eIUAi`a#QQ z`gn#Lnkjcuz1d%>2T9)VcMbf`p7x(u&Ha8Y|K!eg`P)?B z`-^fd`xp0X`-ZxM+V?3&(nv^gPd%|F4rK zxjsp&TNKarm~JH3%Y6IhDOpn2Q%YkgNP2zDEz!sqr+4qj zrNw>f+WeUfp{SooJ(221UbB3vmhegN3{sx1}C%nxy6EnrEG9uS0eMfV?) zL60iST<789a2om(9*3aZF{iKVZveUKBSBqv?dmzP92a3fT@H@bk}nV zRd&Csf&N`N+H==Et1C`ncux(wdn^C*W34;FA3wZ#pOWkzGZ@C3S~;6!37oQBYOgZK zB$QR+JZn#H^Z}8-`FrCGJJO_w0*AfGP1L|b4^3Zwm(#EvI=OjE{Zqos#*c|p3qJl$ zzmi8y)V8a6C!GJj161Bcl($nHSRm$%C5I?AV z+&s&pG||QM!7*Le+4I4VjDQf~UF|b>Tfmog4*U0|20A^G-FW4-+7v>B# zAi8#G@o2Ku879;8m6?~gcy3C-vo!-qdotJj(Ng>a(10(FukSMf_D3Nin0@;RQ$_2{ z7a)*$&eEUvgxe4Zgt6}f29KwpnWit?-F4@V0Yybe^H`cF@tee=>XSarTYbxmL0 zKkm)#+d|K0)^X43TD84fS-$AKt=$bj?lotPZ1vuPo|KS)k zBzchzjw|NVSb*N?N#misd9T0eV*BuO0JN#8iHd2sA;QeciV#iP*-T_Q8~^{D;Pnil z0-W0D*jU5%XGplxF^wt1<=LGYo2xaT%b;-Ssslq*4YN&M5-b{nJQC}ar+XYY^BMd7 z)OL*{JzWRkX;YarL&K$HlViG!1%O8pIhK?1J31yBGk(htvKysIbAeh!qH+Yc`4C&Y zo|1-7uQ7>oWXKR3y5k0Nsdx^k+y~nI&W5B`=D2hrn9PveyO2#{!9`w@6iU4h1G5_3S zqkLFZUKHs)=$1%Yt9TRNz{E$s5Rc1BWnq9 zhd+Zj5fX$9-wi&Yw%tzn!qPa?+gVp_Yf7=(d;iYu(sG*3G#)0Z2p;_SR~pEJGIU|} z)5T^?_d=Bj%RM0!CvcQ#qkM|C2?%H;18t399)ng}P_>m6Km{1&X-e8{q=8f8rra5ca%Cqb~oLtblA&lAAciLQ^{r8+P0S1@S0a+jN^6(Mr= zXK)ptOzX{}Z=+PaD`6z?FQLQV9q#>C%~3m378d4Z2g_~P?TM0~t`_EHwHD2zSDX2A z{_N}moU%TL{O zEB}5^-oZU6wpF_|9ne=bFsOL>XC1qO?FIzvJVOQ)YFi0Y&8bw_)BN_$w_H37vO$gb zJqGv)%JGsgH#>RPUt!!v*XlOfSAq1RTbdU|>d&Liesk#Ds$)bjcDJwGWl z6EaP#2gOqEKh_MjGBFmeGYZq}P3mEOoiQBuR5l}9+L2o${`7eWrjkOvU8Z+VAOmnu za1NQG`Z`tO%yu2L;fEum=#PaHA{@FNIj&}vaK4~7od1e$y%ox@MlUA2_PncT8R1c;28vStB;s_Vct@c6nKUiv z5A6rG-@o)bVdL%3Rnr9wh;3bMxM4uTq)^s(66aG^R#rwO+Wx&0DSlxD@fyjMYH%Kz z42-xuh0j!twOy=9&CJYfiPxL%rRj*6bzHXRNVvq`cs8^4JCRw))bt{J@IkhS1zafg zJ)+ZPuJ>J{xkb6oZLwjt!Jeo2#!+v{sW_Aq$Z0^-FK?`VbJ1vu3yUi};MxKDl=-iN zK<4)D7U9(rS0}1$pqJ&no4>i}3(e9Q4)b*REiB3nij;YCzKWU_$obFy&2%|x{iGOr zOra7oR0*jHP+D1zP-IH93R%^ZSq?A~ViL@;>bO*-9Pqw0vGm>C%(k&MF;RK)unP899r%hAmd=1Y&)5ovK;Y;_$F>cmHO2BM|24N`NYYXX6ZFAt{eO{_y_ zzGx=KbO>3uZzKrTJ`67uclx_KgQ~cg0drQ=`%do8pnk7grU=$i@3h`#+#pk5DBK*h zFi&<2<2Cn1U9)Iv?>SS>@bH+`iot*5o{Sx}=?VGz^nS}$8r7H*$`hn&v(mjnl$M5> zL!_jS@}Fl@OzjNM5B~**&B`BoL!zilBtP1xm8q_MHu{orY3%uT-oZhnO4^3A(pW*tc18((mzpD_ICP5TOPA415t`bi}GZwQf%R zM#v?~9|dRb|J>j*w$L6b(Q-H>+I4k_4j0r(AN(aX*X|!6=}#i4pfOx|fTx#N$3ZJv zDCqQ1c5-vc!!sq zZZ5U#Cw%cnw#VZ@A*K0X$?3M1gwJu%lf8$OFQB#W#CSr#TZ-QS#$ew0ilN8jPf!8X73_YHNFY{)EN8e!lk|m4LqIy?giO z>m9TV3=9UfA&@{VEtq(Ye8}PFg%Fdub|SI!O$10)M@J_jf{-O_k#E=7*f^Xor}OGx zX9WHnBdTIi4TlFI+e2q&q{zq!c`{H=PELRyqp$hrNz@k~NzHF=u{Nr*Mjc1Y zDEwvG8qT2t&A0edfVgvX0|NtRW@ZXxC)&Ia@Bn!l&`SoV)m}~5`Ce^hWuZdwXrd^w zso2h5xsH~WHaIAV|8BhT;~6CKzbYrOH-_l>b+@;--w&)0By%9@9boZ{JTVQi6ZM1u(m!h1!uw=GF|KL1)RaG2Onl016g%A?LxZBGD%UW% zriA&y)ggXkFi4V;P4bMzCAs4e0S2jRX;CmzdbqpqqS1If9t=uk5|;P*2a5S#QereU z-2ubqDj?FbgycHP%C?AjjOYY6=wEj<8M{npi_dDW3Ss9t!mG3;6iBdRK{R6?M))6Z z#3!-Kz#AJsB??>q^zrf89uz40iQB>k1_gBxTM5BV(u}S?Ls`NpO8xRCd3 zRz!j>C?FvD12txW{wi&++U{4ilFIc`{yo2>Zw}Je)#+|?dw!a?jdUKi$ZL+gvVkH* zcW!=3N=j;Q8H=Xd1D0B*;1y+MWep7tm6es{<-rKJSBoW+`cK!1HB%wv($dn*41^`& zTjeAYIWavgDK6gXg_!NlG<@mhwSR@9a(8#XywvZ+ZIw+-r1n-$hbVT29Hnt61pTsK z%y^VeL4J8ltF^4mnRtb3Y6=w4&!2~TdAP;EZF}DI#ieWmVVw;Pf=pBAn3b+zj5VsW zv9ZzE#00a@5PY@f?Q2V5Mct`D?%F-i%~E-Z-o+OLm~ zkHftz$SH=ZBAv$ymAn=uHDA$k$p3U0Nd7o{ht83O+($q6r8nh=(w$93S^2cpms@WP zQ?k>{O>U9{Ii7VK*o?f373Op4ur&S z$)8`kYb=^A{YMl$JUpmqcvH293zg6lT3j9;8f11B7Kk@DsE8<_(?px6-@d-8w$**P zHBce=z}4HklX!{tZwWUr80&pUHL8qXiUT+=XO7mF=^lH`Rxf)Rq?3}860Opy ztzFpW@sKEHH+OD%x#r>D$?)t1u^2cguVc`|AFfktT>`mWJkysIJHM2*7Tm zv}6KO2dOf8d4FqaI!h3&t*)sF^v+diCZrb$k=}UN+S=|fs?0lYZjIzM`>cN9y84Iz zJdZFaLe4HPTbYB<>iH!^ga*MpKDNNi`u{= z373Y>#08fkvFuk2vH79U=5AFn7%k#gHKOZm;A>G9xu$R}!-%J<6QA&yeaEY9lSeTs+>SuM)Ekd5pbrCgR{mYf| zxP5Ql5;bZCib@n|bw#%0 zVCQ?YjTe)pE}qDC+|j`P4&jJ96tpdN|3#FB{hGdHl@^ai4-muSY)UWtE;L3U-i8y9zT3W&yGwp{D)Fu$fO2Cw!C0-VGzQ-u| zIwOl+uLyZr8@&7zhCLX`lM%Ln?;Wo4c3o|ffk1kR5!)I7u;^B9vIgVq zUU+xNyDPcYBls7vt5i6At7Zt+kl!VJ@z6_MOo}%(P!C=(}lukbOHrCD-jROh#HXI=34b%E)Bx9`dN zU^=kYk+{tU=hR60Hjla50Z!O7&d(>$+ye1mqfHkua5dkHz`$0%XeQ>X%G#;Fm7r1^ zw}5suIS!^Zj48Wp{%ttNtTY28A^}f(PtI??UEF83dI17~ybH{;fP0!X0q!#~H)#Y6 zzSsv%+#7S^q+51iMGG|GYmzxyWx&EIXL#;z5DU|>`R7XrAmUD zY&CnC*n2*P>zmHToXtnXCp~2QE6t=f5(bZ+tx*ZsK8%UI)DdmjAaMPZW11?{_X;IZ zAo2SOUFiOwWp2#YAw9_)fWuI{fI;EaL2y@jT^-jIX|E%+okOz#Ycn&naFE-^&jVBU zrsTQad*2b97WK*TCHLpGZ)ChBB@I`FE`>S11!||*ZM4kj_V)WPDVM|VALda%w3yfE zWmEt2>^!0iA2iy5%0IXyOkfKU#$}%fhsu87S$jaq8U|n<>*%s#b3A!Im zMo}1fnbN9%H~ykr`D_PWYjO08o6#I z&-^#O=N_}wN&pN_n9$;yXjJSE*L%lpAb& zG=tRM)4993Ez~;-QeiiGlGO24h>QA{kEyoVn z?|#wDzFMUF8+tzjHH`eVGF zlBTZB;5jP%=r~%Ok*3HchEBR?vk15vsHuDI{%Gbt!GLa zH1~lRBn(Q$<9fcg(A3m4Rc-*FYnnf-&Ig2zZ)Z11K#}d|=jXjc0t3k$D*jui!#NTk zgx$TpbEQ1se9v*=2h3d;ICf}zkCWmTTit>H#2r0>7e74cGj~EecCunh82k; z?+QgZEuEgFXiNE~%^|ujFODoQDn}DVr-0IhwE9Eo@)n|KR=s4s^T=Y`L955^bOmMc z4Jwhzz=)wN;RDDe9-qRcGCM0hcCj!k9c*iRxIOX3k=<$zyN^(SBDI~*+C#l4Zr^*- zrD|$oqT*{`bz~#Nq!7647#tjIfmoV2K1t?MnMEKFi;IinPgc+7WLT#V8z(I_fW=Cl ztgpQtGP%a0*>w6d6{<+ZBrPL}-A1C{`x1}G?kzaz`uR_2QXvosDtewy!a3qy^`8Ir zFWR!G03xEOs}XTLPlH%z%IAHWIV5#Ao=&}Fg+&$hJ43W-wsTVERM%kf9^>$nm@e_0 zQw%_w_o(Z5mXx_8AG+T}lcE9;VFps~=@wi3<9PaxaZ7{g0u>VSFYfA>%PG4Sj-j~1 z4|@inQ);phrC3*Be4 z{ZQ9MjP*hw4a%pgOzM&cY9w5=(=1I)pt!ojnm6bFS%a6CSN|B$;*XG5P}rXs{qfoM zE2|vr7f);)>kK!%N-a?n5Axl?A+eE%=|xvp%fTxOfxD*^ZRg=6yvo&Jgo?!L8uLIe z)ph@^{Gt~Suld8uJ9s7kEnOZ$Wd8@&K}YxX{#3M+t7{1U+)Kh`^t)*{%UIqVJP-|g zr$4y@GggbiIq| z{^RP2?jHlxG;cI-pM-H%J-D<7YC}VOu$8{l_&H%{68bC&JC) zo(D^Et+mjVPV|CH5iGFpgtGYj{Pq|#B@H?GvxC^yLM=+x;H+yb>$$n+&wKax9US@> zJcC?;helTa$?WTrk2z>sTjf*9rU#7vlVCUL4?6J&y=lgk?jf>?bc^5Z`WBl!pe>tO zp3<Oj@?+CA7B(XlMre}x_pDeKSsd4teOwtO&+9;9ty5} z3764mGKw%5Ofdq{;y;%pgPb3KQrz4OobSmYnxPF^)Ik_zhxf8(Q`3LSP{MgQe78a+ zcTU6t?ul%_^Bi~BN6V!Y=7<_CFtH9T{qim0{>UdWf5Ih-PMwB^hO$`7V-{d4+e&w0 zbjW`JVJ#Vbw)mL$KToOxroG`iAEyCJb4G0J%`LR%Tobp%J!8J-@2DBa9(zXwj^l1< ztiA5m&;9t+tdDQMoW7^MV^IS&r&6>RnoMtcp zi3LyP_pVJz{bAmS;alyUQ{bhS@BeamLoiQgFLA;_`30bFcM`3E3kxM^)*Q3cOpq;oa zNY!hlvuUHPCM6}M6vgB3L(&IJEgrbz%?jfeb4{!gWzfabR-IKtAT7h^8Sg2z%hcfh z3tuY>TOZG)vgc_p` zm1AB82F`4c)n^9-KNj+h4ufoMyOmerH_@!(cD>g>9L<=BwyY%xes~bO=_sBvm>;tG zjyX%j>at}lqPDyoHD0WNfO~mBgQpwssP(43UUTbaF)~ar38|+4cdJ<`7E67Df_iyB z*XWtx3)cGvzVG)$+{0=!Y+fq)hHs2~986C{PGh#WuNKB4fmauyIL5>zl^_hV&ow9X zuc(nBbN^9@r;pEgNPZs1J7Mji)wc#d`ZtUJZRdnuT$f7Qg27;sCwUZX?CdVXpX6Ld z_t>FV+8!Qg9np?oTV4UF4<3~J4o5#Hk3G%(ZY^O{CIt`2Iv7HzcfO)+X3K3BJVbeA zlBiwWIm(Uz%>vhDx0VXF0mcgHVr*CpLo$a#r(Iv{f9fONAY2^+!8iAQ+e0)5&s0ME zQKKGEX!Ay5t`OIdSezrSq)1A|sA^Qvp)*DLKRD(j{GkbxorXX5c|{xIVvT75}a2 zYO@AL&8Aa5X3@^Qzk+p_M=5~goft0MpWV^Xjh8+JZ46e^hu!V3S{;zmplJqEnalUV2X_A9C0Y_dG5qwk4C$jj5IW4gKm@#p&z&bmd)5&bySnAOk2FBF_1-PPv2@A-!0;M&jL z%f3*09r4ikUX}&xq#&bksd9UT1E=T0C*>*WzUYGwfo|4gb}@Z_{+fQb?NmxfU7`UK z7T{CdFQEkEw6ATL&Y=r@X|^@vrh$!3U74FRkG${NQ?u8L2t-?3+a2|Efs}}~LB->8 zx3K%EPv(BGV|I5dD=WpfmgW66{!El;l^YbjvapDwGq1P*JzZfWub{9J5qzRStJD~Q zhaYwdnTS8>XW>mc)HN;`<$>_?gzo{`ZZ%#wl6Tgwp|*h43M|q`DWdabge_mWSmdCw z#;Z1!`kAl6 z9QI&&ZdSUk#tRuuh8OObPfkAPEn$&Z#-5#VszkQe)OaD=;YzS`7M$EOM?fKai1C(A znk4M}9#B-by}SEiV7>j3{_+3+0165?Zg|l1>$yk&+6~2=Aa}` zC0=d`fcR#8Af@ASSCC!0-TkULk`TtLy?rn!Sl7O^yxifp`L|U*+2fbC5Y!`2CfFNs zv_8OlJeiU3ih8~A!DTd|N)1~rY&G?aQ`+f%j_zVylnP-d6?jB`zP}8u>d^`gZWhwn z($_5Jnp{|TC#GL6@eTnM&&ike%H8byKt@K^VyU0@RlOdG?1aOmpQll)%`D2#qFT;o z1FK$JVK#J4OqkVOC%@K@j!jn>1zO4MUG%+di2eSQvI(x=$Tf0s;H^%n{`LFKoq)2M z8ojx}ug}w8*8t|4?;{WY^<>*b?wE94-cbMJR@?MGO01uSzF=Hjp>J^3(Ql~2w~TQu zm)TT8^>M|C;ZPWsoBZUhqP(5P1_S>+v)n1aAJso&F9<%Uf+Dl}tL;AFl&y(-Bb$JN@t8uzvLGcymZWL4lS-{wbwg!1j2iiM8+U^q^6>zFvX+{#v5w zBjde;gIqa(XAch#D0J*Ww&mjV^!%Jlgfw)e(~Ee8)5#JFC7j97sdHV9XJ%Uk;oi~` z$$6&dfq6;awXXwQfMWV{f%L(wtk<;_x4*;-Rh1obBQ7X-!Z6(K+QmUC6OWnMh^WV< zE#y2;V^3zd+J0U-Xxg0ZINy=J(cU zfr3f3Y4O9|K3dYKso&Ocj)cpohy}d5q@<&~+-36XbD5>X)xJ1dJgmqLgY3}B`X7yM z85C#NHH|{B!3TF4+cL^@RLU4lTtLL2e-oID( z?y6q9YS&uLVbXLGYM0|LnmIX{E%vwlRG*w*!1-tM$3N@Mw&SVYua8Vdsm`rC{j;s} zDUn0Tn-b)~gVlclKNV5R!-hcGAkCIk7u|jSXOA7ftBWjRYw2n?0fm-IrpuKq;=S{3 zsU+@(L1{V73H1K{ z{>x_G8#J#M``g>wjSlnG-LIj4Hz|B=&E~JXyu8YE^+Y9FKmKeE!6cy;_t{>lvtC?W z6x#H$=KJ>h9C)`pnkO5U%F))|_2T61y&QysX*ZSiuworY2lq6K8pQYVy8RUxIyDtL zU-Fg{FlnxAXeelCX!!BtHIkictHb+kd~bMlH5Y7zG0pU9j9p^X#&Iw*%-hWd$O+XNx5{(qw!E|Q2`jPtb4;hNp zAXxR^e;3v&v3b&u7;Xu&JG}h}h_W@}+PjP(0F$S?goM@BUi0@;ZK{5X52?_)kGR{0 z*YaB0`K!gbEbhyX3mvVLOqUD}#IFA?;2{N+_eHWL;H5#~wO^IH%jf6Emj7jeC@IyLlSZee zV$;k6jJ6e0P~^2j8wJi8tGsR!f3a~GgLm&opixPVPR=w)Q{QbK^L>|#0Z^bX~)rI_TJaRfr=CA52DTQ6P57PX9G2`OkNL~({8`Qje zD&l@=sy-!EJ^%3(o6zRBKay~m0|Xq5r9_c%D}c^c8=eNxm)abM5DUvNn*O#)04S8y zMv@D;y~j??M#`ZO&>^$6V;#3wy>1%0GMaky&>XNa`>zgt)X1$#e+Uq&tJb`)tM2_s zRy@<*dviR$d%5y!^4w|VA_J07{pCVvJdL~iW^PcYL__S$y=!e1>+UzZ?|;tEyKm-H zxw@a-tw)dNOKAL#S{D8W;8Kg<1HT)lO+TMCd2c`ybMhS?UtgZy`5xH9MuJcD)d9@(@&!kjcmWuDxvE3laq>S<9dgAg?*m!qcWY6i6Ga1ul^5TsI6^W zT1*>9?wvl}FxY4ZzZT_c>5m`&_U(qXZU_0M{yu1LUu$nS-aD6bXW%gebabv~3f|e za!3!qdRYJ8Q00HNV4B~ns*h95PyDzX8u4&E-}E;ybsH>HCIDWqb6i$xAt@@G0Z+p* zp9Add4*!?0iWaLh2mY-qNJvE4-Lms}oE*h9askzW_C`~(kE;qclUV4yl39}$@ z@rQjH=N}K&-kZM57Z<)|7GpoDq+HJ>E?Hc+c0J)Q@md$##QDP{e{Gtc_ z1K}TU-^0_d#@qraBgv+0rj)39p>MR6$!s7Rf<{lt6FeV&9EHomcU9bB^|r3k7g^v_ z=Z*uNoX7k1w!=(*WK=Y?9G~4dspr4{j!r3bP|P3a4!iG*rZc1d7i9Ul_4-H5K5!HzBxCSfBLxE zU^hu@W901QR9Rj9=luNq=qUWvPEVq&y84vdnP%$RzXVZeaezCk=trNZ7cza7RI5b5 ztgpt04&X-nAJA=nZ{$Be=#}#tzs_@~HulHm{538O2y4m7UHl}crK>)!c&%v_otc?Q z5Mkru^7f+b9fR_BVYhsay{ReZ@rsBt-SW1!wwju0rFKd05pyB-mNVKD(pq%}S%7p^ z|GG>Dt{GMS?t6JaU5>0DZ~b0AYk7m1(79N{2Lb+1`E0=FF?bOay}&0me(MuXz`3qV z>LHsU(C&GBxyStbdUzrO`eCk6IaBcCuICnoo}P(`38V7K+1YI;rHzrZgF{($wMGel zc6PR`Eai3bcg%Io%=Nj}(faj%Wk&}GJ-woml41NZRVE$y(GUePC~s}89i8B0{?PfkvFfLh6n1>NPtIaw6-BcxwX4)+_lDwsD4@~yk`p|a3` z4~;R{bRbOKbiOQIG5(}K)>+d@QIC)9OG`_|#R}1Gb_R#9{%B=2{7sDl)7`ECI@bN$ z+uNI6PcgWOZ)W8ZlXdkb%K{6Y=OuPl%&|#^1;6)XaZ^R0s3wXwXgOChWu!`NCP~d3 zDA;|C3|<)UP%XBfc4pW1RtxTu><oUHsr17dF(qW2vJ!9HzZfN8|>k-0&lGaSr`LDZ3|j zf;?vzY`D1m!M6?th&|{peM=lfFk7kpGUnRYdSL|q#!Ou_ zjcJU5TJO&brA`5S7{Ly;CKdV3F+mk}>F zL#FRRMI`8XmWT36()|IBQQs0h8(S-xDu#(eP)h6|1q1+Rb)gN1>=4ejhWPgh`j523 z@pv+4$XJJN)=l|Cu0owzNV?RIl|$lV1;Gm8VouQTXdA6y%j`xLcdYS^-Qrzj1chG= zy2{IcaYax{kx)^o7HMJOU^6Xi!@e0Q#C$dJ@5$kX*mmPkpWXsod7;q`7DI|?FGCVB z6JB|cY_!Vqr5utfzQ}KilgL3!FpewQuvNsXllQF1@l6iW+Gf&&2sW4jnGKih^iU|b zYsg^4_pODLW33O$YQpG*`WTo2StUAJ%fxh5K27T_A}?ShRr1b;Sx&eL(@TN=0iLMI zK!m!3z`Pq#7<%>6-}^3oYF|kw#WZDr>OupgseE*u;jso5vG}4W0Kdpp$KKtQC(9OK zchBZ%IfN*Il4CJ-%8O5*_&&)T(V`@jklUmL(RV}5A_f_Zf?mi7|a3c^wY>D{f#S<5)3~658YoHGY`U?SV5TKMu7{%xw+-nYJO;F(o5#HAdMI;9q z_V$N=fX|dAxUy>P$AhULx+$fj2V)O<2(&>K(b{@VNc~;1zIf-a2VQalWgingD_d@K zSP&6}@Rw>bim60HrtUs(S}Gdwm&z2!=|yw)f)3DU(ZA)WP)?q>9wS)NTXr^z{*X$N z0Ft1sr_7q-z1Ma;PTrg+kY z1=+Vtot-hizyyoz-;@Kb%!=-pK4Tp$u3UIg1_!sMfd0y|SL2JFN58{M5V002BCYrh zrpeVR)+&%{ge}U=le?Zp<+7R@w)h9g+ll^e7O%M>f%tXXG+DR7*WbK79&{+iGeU1d+ne~7KZ=BDm zg^W?gPHjrPyc8=p!B^q^N0WiQ*Sj`;rk9@R2w(Ums@1giTTnw4NRZL7+O5^ohvd!Q zkyS`8Y}K&+@6iO6GwDLV(@bc3NXWjWp@bw0QgKAuheM=E@r*`t_)bn zvfeK1LGjGyZ{z8GQXKEqlH=(X?A-tf%z{7g3raA?Pcqdi~iY z{y0yamaC0ONL1pn%3h)KLQej5L5mjISkKoDwlR}7s*R`vOgj)Vrm8J^7Qa2baYZ%} ztntR#W-nItH=2PtJA3Y(*eq@$@&`dUD)61k8iBI?dHwjKr zVT=@@sphi*{+*4p01lMJw2cDq=$;!3j~^^Kbqp52f`THxPpj)fzpLqa7r(V@;xXTy zwz-X!^nCCX33EM<_x43#LAP=A|Fir4?Chn~0}L4;p=MaPiruh_1}m&QUFtoDtDWvU zad~^`(Z%t6siFoC-n7;W6MgPtp8r--(Tg{Lf~u$j#FfdEFe!dGX-^$5adZShW~2~R z;>w3~$}-lajh6*7YOiTXu#6Zn8ptF03eiASr~YKOM#lO&dc}H-d7iuR1-$ChxCe94 zGW0|S2lCsf#-4j*>trR}!QIQ)ULC{*S`Vh5n)+h%vc&4Wqpb@Gp}vZNeDszteGv~v zO>09ySLyJ*F;gZv!@@WD4X<1+!q1JCW)k=T6G!_tT%V1+#2H!7e3htC-asrnd5AIz zbOdh-JD`ux3ZMvFEV|I1+(mfxVMCi-Ir$^AG;1#@BmUy051&vxB*WwDnijqlTHDc@ zJ@hXgBOw=EPB(N$KVi=6M;X95@Dv`f{AtF&ivR zeXu^dgCER>tP&Z0+x+V}KVmIU$L1%%DgKX>R3sfO2YB9HNrJ=YD<%1h` z9(})v5uJe^BVlxhz?(Fjp4jNw5LPcYzGi@>#f$a>E;a@R7F`9oCps1%%r(G=)Hg!;_=xD_hXQ&yyMklrD8K`Wi*i zxe)trstC0BWT*2KH`mPj9gic;)+|Y~rLNZn8@`HfN3EbrmE&rLP#PDX8JkgCdF@25 zDiy(sONnpKd6lSrU{}Q<`}cs_w=_*LkF}-1JS@(34smq>AB&lHgsSfOqKxb(u7cPv z1kxC}tx{~U zhWsVJ=7>{lE*FVBcegnr|NtUeJmCD{g=Nfr8v4vwGQ)XLg# zde&Szi|KXWDUV$r127!@9EBj*{8)Ghw(4d^Alq=cRnw>;C!L>U&iJ86 zMk+H8xf#SF+SW*mP)|!Y+D%l5C;e>NA>qr%8YYOki+-`7a(}z0AbnGb)*)?ZOW{`p zun{aquTZ3@MfcdPlIl!aQBZ^Xr9RAFov7>%*?4(aZIW) zydT=@N6r~NIrHtJuQ}LZ^2aH#SSTFfj1<>O*$by6o1&o}yNy}bkkt;}K}9XoV>Hsj z=Y@W!m76~Bc=$s6$c#W=&{dFLUP`KJELdafp_Lq@n{JyB9wn2@7hTQaNd*5AlOkJ@ z(mdIk7+p~Yz!M``-OQGu5^p^>S}zlMe$gX-39J*iienf}#?Nj(#PII;^>IJJ^ab?+P86(l(Q4slBseLO22FP`xsv}=x=g3D13h|OdCfeQ9 zu`E%nQ3{gb6^xX_t?VV)lLyl_O;cYWu4*DRYHs2r&t)=Ofifg5eSq9D)NJ01 zJ|;u@A2LsmAq=ESYOS2eNT!Q~V>hj*X`XRMxp~*v_&g43QU!-pi`G3cpm`CwfxQEqB#&B7;|(5hHo*U$H% zii62Fdmo)_PC2KzgtbOW&&Fa#(UeLxkzqWM!!jDZFLA(`-rg=)2)k#)kjybP{7P5} zBr|eEgJ(96_m4eDoM^0&Xq7?RCfRb;HqRkG%>cy<@moj~u6e z@@sHH51J`+lXe@*4Vq?Ea~C$4r+`fLkUcNul)F_m7N9K!V@A5xvDY@QLg5C1VvtBm zBb|J}8W1I6b8ON@rmQAHH^B|9_&WcG8t^8erM27$80Wt~WI-AK)&j%$tF!NkZhRi} zjK~(iqCj~b>D+;9txD!r#~pjc<%sqZ!*7KoS0myW;5cyLxzWrjq?5=W2iUedKP3Rr zqxiVrvxI|$wt*JV5zk>)?=9jQ4ik%utkj@tuZxv`X{Fx#eCb{q+l}A2M1DdfyX%g* z?c7FaZNw?ID;z0;yeN`v8?2hXew(nors+k7OqPFGsa4wrx81qMustyH_$ufIS-v8F`w-E3l8S60?d;Ji@V7>2|Us%X%=NN zuDef_XQifajpK-&K5zYq+h~l_iR-N@aCx3=P7_|-E}g~D4u&6Ked6vTCcP2Z)2xOS z=0Xh$Y_#Lm(H`r7-yQx(0uTL0bfJ~Fvbv!GC$lFPlFQZz9B^UcX*{(Ps zQ4T1Lh&3pw7}3Kz9pmrfdk0TRH$2kDR@xIE_V-uC25wvckYoIu?`0n9M?IBd)EBm< z#M0icDjMO0H$^fM%N8|3l65f|5zYuauHc~bdNrrd@5X8?5oImwXRcpK>S+b~*>JSJ z1&4hi!Rm8o$lbtql)p=rAVU*cP{OQG5>pIZYr~QF8HP~<64+Yo1g%rpdJa*0<+luq zHbtIFx|y*8DpPYRZWUs27_3$jU{>F5jPKDkjZ&MsYXyIL+1qn+FXd}aC;Z25 zj6H|O^`=6GiS=kkvlnjt^h%iM@@>ZigYNHj$l!NbRKze8H=O_@ zBd!4CD3?sWX+IZ>>Xt5P!+iv1^}s7Ad}>t+51PRO>fZI?O>#i#-_eD3iDb126fv*~ zWnmQcdFP}(F{TBXiZXz*5(lm^icaxy73&7xudjtRg`LUsJbjYwy_4Fi_D&6w)KE82 zS56UKnB(HqfmwEbw_>)7KSK~khm^=~p7!eo!w1<(ww#=eC`fWq`$1Ux?S%Uaf$Mh? zKRG@C-VL2sNnN*dUhi+@x7(x>vWAi(Ms^<32a= zFcY!un3ZW94E(o!H^KHhf6R~1HF5hlnqPoxHC%%us$Z1a@-aEh*rQJsdk!Ttm}>L3 zF-{mmD;S6DJ#|xLEmSvob-%Q2g#w>XZcmRZJROq-<>9A?IfoiXsyy;{ofo=hOchV- zJUDg~?4y40Gk#1*VwHgP?Jl6YoFStkBtQ;{Rr7t0fQS)p1RhqXEwV?-NB{t}10hdFJvu07*_`6TZKl04)6gXyX+wcd- zv~O^O5j}*bnluwQO~6sTP!Fw=fYvC&8xIvjx0N%QMcS>0e#%{zOmbjfBBRlKHZ^Ff z$V}rcO`0|9@ULMH+-dGRf4bIrd4iyTU3ceV2Si!(k8ozpGH(qJx6`;FqL4&t0(G}= zHe;Il+gQ4$mI9R0rYpR)A0%ujB3&G}=m%5<8rdsX>?sZD_ucZnAZ`Mv)LSlc9hSvb?0jQETEPRh!4LG%lp<7C?b=p*!o}RGEI`8U z2WOfxMte32A{ssH)F!3vFLCFC`%N9kyC~0Ira3s9tRb=f`xiE2Tkq4UIY}{xml_zOXCF*zug72dm2L&*Oht>Fvq^LrECqQ4tJW8kslNer6}%VX*1rI<|!kz_Lg zR+v-Vz+nm46acy5_pbFva7eA*E*2lN3F22YJW$gkKF@Q2qJ^r2t2W~=FPs%`NCTHw z6rafY9T`SuRu!?Wa{ zkFo*PtD$b*zV^)7h{qakJ(1e`0^4yX?FAM* z^_7dy)(s~=DK}g-KkuekCU9`n_qWNmMOvFUP%9hh`tGCc*)fy4t9<-Ghs^06rbA__4j#qE2;;Ih=Bju+Tpd*B+^{Qc!zU@WC8D$7$7fk9RFx5@yEmZ`a0o zhv92uB5d5hLg^|{UqnXD*3$@WoanHqScbGU+0||bhxXH}@Nmv7w_+_cFbTqN#&~i$ z3V{_oPE6Lcs%do=(dd<7ZxFjFCHcy)5}9>~oX%vv6dT4;Lbz)e0=Qha=rBSZ<8fo^ z=#0h%JCGF*%h4)gvA)|muY-SGnCwu1`Bx9`R^!G*TpEK^2-E4cA zP$bB=KW2&ENN;^nwB25i@B$5?>IL7JnE`yzqo)izE&XQE!2%&77L;Hmqpg@wEgHeG z<8j>|K8pWAXJWg!qedmA_{(D6LEru~^U(M!3VH3fAIb_PyI*sJ1O{=9hx?+*gbx6s zFF_?U@ZlrIx4FN_HOO>6PNJvF+0Z%ENF2{|i=(fvX(XodfA3~$MfgPh3NJ*h%4Syp zIONw0E$Yg`D`XVkZg3zc22ny)Xi?-ndEcyVSO4}YA>;NjZN^EtkNms_5`Du)Yr&#T zTpx*5o)3)kFKPm9v*2Ep|>cfN$} zCP|)$gXJ>RKxCv(CU!BZ|A_7{?ZCzDqvKyDnla3*EO*VPrp@>TKwlk(Jt$vpUw;l8vD^bBFXb@U$vReoOa)ey*Wm zDtRaDxT^rc8;PXG)JiisG~x`GxE6}O)gXS3!G^5GFYw~!u|cgaKkcRf9Z9De)9pXd zb^lm2BA^hS+B0E2)Kw|VR05(Vz)~gwW=rLMhH5LzZ$<5 zKR9e~gZU($Hd958mM{?1Pgat9*FQXrG;7CY@Ah}R?(HG2+Nc#s1%Py?tva&C)=ZLZ z#^+}8)*ybV7_nUCfB#_5{q}TB%nrsUczmWd!@(A|rN6guo7}vC9P^Ogs%smvv{85# z<5q@RW=?z~WVKsiD$UBGg7zrT1NaOLBh@q--sXA8oYVc$8z<+XEK@A|LmOUZXWp9E zhYx~b5>biUP>o|11NaHo2~oQmh-_K8)3pg{+C%dNGpdX}=3xqo;d_4AiovsVNX>N5 zS~5RbO5*KSbp_0`8YuMkt8(I53ffj4hLA)~MiH$lbD$Tj!W zbv8EZ596+p{Ajoz*;Qk|Y8jW*nd8A`ZEz4OLGzC3d=mm(g}Hy3z^S~=bsFh*-Z6vh z9(#>zR#uAol$EK6EF@E0c$3yq5R#Bz0-~xR|C%Snr%u0wo8d^-2{Wo-yAQ#{=X-wV zaaSDv;o>co0hTpT2B&;9gEh7iw>!=5FKT_hO$VYvwBtM2WJBzKfJqf^G0FO!r!qZ=M*K_GU(t3)0>{RxlWHf6RB`?`6LlVX|7mnxy{~<_i%K= znQ;6!?F|J|XB~(?RWAvi=R>aPp+<^QoEg1fBaOufUNgbK3&WNtK(})!_GDD zfOh1Dr;JuOwYeSp2lu7FiQAPEB)Z0LfQ|P@e8?IimHq!(uYX;5KXFLbtu() zmtj4!`dBTLGRyM!i6PHqvItY$d`eW@bmm0y~@V6k+ zL8T9TV4}w9aZ;hWAR}jU7{4;g8b-(rKxi@Rex8A~Bs{-=4{jk?!DP!u7d8@yABrLQBK=`(#|szVDa z;OLsA+UtHQO~b5qAd?il-tQSmPF#lNKMor@Y5Y88h{{^SPAN$;KAdlk_?|2Vh!mDv ze~i~J{QXlCL!8L^($TGbHXBq{$BWu{_VjK+1hc@I!{QI@Yb$&4QQcVEmB zy@y`y9|A259uT#equWPOm&)-Gv4fL4?>@^gR8z}I%mbbYaX!u3QLC&`Kz1xCRO~Rd zLcD_T=4Y{bl}IY%pHRx*R#9&6#D`?k!$^Y4WZv=88)DZ-n}pP$vKwQB3YgpXs8jrF zJ(0~*v{5r!eR?#FaU1X3#YjDw5Q>)0gZ<0kfuDmFR4K_@;b7J{X%*HUl=Dp_is}^E zlnm-VTBUhBZEw@$+uyi~z-wL)#!QFcwI+4PsMVK{1w$Hep3D=uOOO7fH&uHAOewzR z=bvvLr%Vk-W$azJuhE{K4xs0G(xyfZO5^Z?c! z4B=_J557Ec&Z2RiL2?|t)y%G~Pd~J6O_Y-F441%f?RX(^U}Ph?0q>tlR7fclespeo zb)JQAn2!rRG8@yu=3Ad1t3WkU3!x_Uq=>-#MrE98VG+@h-iag&@uM{)i&d_q^(~x; zoDgtw#2|8a265_+{N}7+;xP13CgaQ##wtM}|2@ewj3&eQW)E?;gk#H}d+iF>2<`F6 z^~t(yTc|+?=xN|9J!KMVy>?tr^Ud@~pmfeQ_$0+DBeu3Dqw6!1hxk4#NH}?LGiYoS zHvyYNByl}y}^)c{{z&J=Q+j_!weme)Tvck_|57<{RBcR>a55R{P8w8Z0{ z$RlCxY%F=k(0r_}D<%1Tn>iYBcm1%b{*j1oKFCOq;isB+b+cyi$&K>B@u zxorg^*<_@==Chb(ar%gsGDFTKaj1?KKNgVRIg@u#v{dbH95O*iz}Z(vC_Wri8w{34 zT2p^`%GCdS)9(81VM$|3!k*&0m>ah%c{7pz3HXJ9#n&-ltRGL#p<|&r@sV4X%ID9` z9ZQRFph5_%EMk2;VaJfJv2LkmC6jI?*8@q|dP=`biRm(R$rUCKAtu6)?K8f1f}2m~ zs1IS!(K8R6c(j(e!kR|EB*#i|2>*ma3-=BC6vsodr&q!}7XqvAe=01}MgGw{V#%Ro@sgJCL6GumjoNj`8j!@Erp4@nE6xsI4$nKA6zXDmghU}=^ z@oi`A@QW)%#;pX~2JtT0og<}mkIV_^rh}T3XQeN@6OnNfJ{GX3%j+mzhJlc5mJkrI zmrZ$a<<^JCedgRdXa)>ESW`BCIe#De8Vxv5dGO0$N>}^uYNd-%D?twe*dA6QR&=?4 z&o7jFz#A2Das6mo^8Ja9>Rh0G6{u8McHHM$Eb;BurN4EsttJjKa5wNZvFnA1^2t3@ zf)I1m(?^jsg0<@KVW)Ka1{VDCp>it&Ba#PLnd=1Q?rA9}X zAb~SAACN9-e^DdQ+pjgws9OLbpv@NeZSqEw_<8*Zd7~@4QgNRHqw4bsRqx>@5+w$_ z7n?@7QQh2>f#XXD9tX93ulpPds9d`oLn<%g*gVp$cSoi;TPBX8-4CYs8{j&44n>Q2 zP!tBGaX1xCF!Fp_e=9?^QwB5nn5DuPAEX9dA9jDH)5Lge+$qTDzulWhyt6}4MM~v+ z_O?NUNV?U>zsr<4yKFLC$C*yQQc_nD=MQJHA%?$~i4|Acoc7EaGxt`oE9QN63S10ykO-88d0L0`$`B zC<2h9GUBqSYEro{5Yi`CA`c>LG_zVuJ zcNDQzp6%=%7IS^$fso8AC7GeQ;;P7B{G>*d4eNWRS$FI>gDm~h^)n*D0uwj0bM`Qd zK$JWb#BX`OA2p9``vsasUs)`}c``P3m1w^#w}wX01?ZD{ZvIh_Q9;Q4kLW& z*Bf^2-M}`-{mi9+Plbdf{qrH}|ZcVsrpe?*DV zX+ht^7if!frktw6H_Bi*luhon1+0c>`ay4OEC+lQ{Et-kQ7~>|%IUWh6lyU0DA@Kj zXt0aXql|5MWLW8p!5Mf-WGYSC<)?>PAclH++PBuv_;_7W1=W8!l7W_p3)+Dy3$ZM& zA_aL1pF@<7z$w)eQV^eLR-FJ(^G2s74VM$7x0YM>gLmQ@^>9GJ(|B3_Ltk(#diNfu zk$|IPynd^IBaf2B3{6pL(1h&!l-sQL! zofa80iWN(AmKZS1H$h>aOc=XMvp!w;bhU?Qy~h5#2bfM^Jg{MNO*ZH?amqzcv>^1C ziQ!ZBeDy~fO;i&kp}vn>v2oT1$y8%D;?ku_dGQ5aHSbY!pn@KfaT*rFx1eCVcfDK{ zQy7&_a)ga#2P_r6v@Tdy#rkdQJKTOa;nK|a1CT=kXfDSM^aLI=%eMKf7JD<>;|AN@ z(AF&i;6XFdIopsuko`BVHV=V4LKdlnq#(Sx0Hs2q*i_ioze?;2TX?-;)2}Gh#XvP5 z@$!vmZB*AmN~(_H-l12}>C{{Povyzxc6uoM7J^n3kB1Q`$ztLx`NdirU6O#0rmpW# z%d5J)-NjrFi*;S-X;=@uVCPv%6zf6)GJA{Y zr~@_AP+*>fBI9ye zz>b`w37>P>rm-i+r@k>E5_`R1JNHy2CZfhN{mzz@Uy14ucD9(&!w6lw#Hcq5%4m5R z&0^hYkSY0U397F>O1{g?iTHh7@CFJI^hSm)!&egd93_`*@xp)~?;);&w6%KwBv7{QM~e1Oy0kN`ydvB_oDD{XQTWEGM&zrZi1mt!ze%o- zLcfe$TQr}J$$RKOu`cWj4shg)n|d(tc7kTBpold$&h4pUKX&$pk>PVRys_z}!|Iz2 zi$#>BHX2ED7BU7b#XrE_nr=cGDeY-wRZKxpD*c|CIo*7eJAwlDW`}j{Rp(il9=$T;x>WFSkkM8dRf*~dX~cvvFf93$cBJ2D#Nv;jOBwSMSn0>3gStql#S zJn*3>YAo*S)1lzI8^!cbzo>>9pQlMlo;JuVuN2gL#K9-RT5`W1lK4=+p2&M^aK9tx zc-v#mk^txhTcV(dB}w1nWU zDB%`eHg%;h4zN!EOU4ZP&KAUz)c1huArgmCJAx}FZKJobX!hy z2^46TX6uxlPBoPQun|&LDh^g54a!6W0JDN}1Eq-OR>_}b4lTVA#WbJE_Lk{_d)PP3 zR=4iMt*d&-&0HTw%4O_Wk1AL*&$P2;V8i3E9?ekVknL%FlhSx2K~X4yvigYQoWVh@ zl$wjk<6OEJkvdtuj6|G&(fPbbTB1_#)o6`9X18=JQ&6b4roa3f-WDs;3Zo$`KtbP9 z?djuUAY+&OBRcw{m*z9$5F-kba$LOz^PaI->2DBJJY3|gT|U{Y6HMgGkwd=!NiCTW z>)M$h@uPtQM=LfZhlMaco19uD6rUChq((M7QBHahI!LUH??nZZ( zV9gt+pA)UCvwO%g+C1cm?Bwr|f&N=pP%NT*&+@xj2`P)rz)%S0`{(-|AeCg(CpWi) z&ipO?%sZ;%jj&QAUVq*}>~}D1+(#kj>SI>}oZI8kia#ol9=VUMMPJ)tf_qKsOB9q=aP+oYT3bSGs>G@-=v`9!k*&Tr&@JtnK-%E>9 zz*d`olI9~$XwkY1GRKc-0qu)Ay~bYJ&&y1M0WtkA?@BkKe`3NJ6N0D(DZ2{7G^scu zMPoO8sE#%Jg9WnbDtqJmg42t1bHl5Su4Z+Er|N2Hy}bgpdB&)C8eCw1Ze?sCG6VJ3 zWD1A*W#~w8J$@ql)C`3{Ni+t2Sf}1JnZF@zqs_M-Wby_?HO)JQAxrbSz=&pVOFS#A z_~UjkH9E)f;>e-IB9s|0^E2M{qNQ;b5lsG`bREh=S)nNy&n~v0A$<#RO?nf8*7bO0 zi;MgC3BhA&DC_J&Gp-X&!V^j=tgf3(NN6z>7J)!wnFmE=#SH*#^YD0>2b#~`ET#eK z_7%I1`3n&R#GPA^MqOL6pKwzuVt;!+3I!!zCUTk#x3V5^n@3WB4P4UoDKa02us!d#wdLD=poFMx&e6kAMI|V0Twj z9wKDbxbpQkq|f-H)my@Zb!rRK|2%O(q!SUu957%hqM#BK3T9NUu5pYgD+>&q+Wg*- zkxFt(gYbU`PcAjZroOni9o?Zl^%4Y1Q6UJ;7FIF;n$)CT-BeY^hQrCj%?Sl!$r#J= zT}mZfSmu|vw#rVak&ynQh~{TdE-!P?VEoY3%P}W0kdm`ZHQC$DOD}VIjU!Q)%Kgk( zahd!<&-6LR;c~^8DL)T4VJEzNAoHZ;?lzl>^oS{*7UTcO4yobsJ3BIF(8P zIeURmA3rcX0RivwKiv)JfY;c`|0yGyA958)CNs2^1sJ=Wuc{T-e0leu8qEOrww=yY z^~HsRER(g|=?B%;tqS%*Q~mcg(C;@QE{h{H&D)SJNWe188a6p#D#*_>W7a2#_<#6t zmWMC;sf&i z1^k~<%#76K8}U?z>6%4)_`MYNG|IUU`U{13B)Fa-JW~AxiyYP{W>dp9US15?B6a-d zQI9Y~&Uk&N0t+2O+x%CXD;+-dx`Xygn|{wRzfGK?B?e(>rR%HZlBRou zfB^jeW%nV9372Ip7wg_h{xhst_nyK$J#8v`%!-tGk=ep5BbgjqWrut%W$LPMB5Em=`d#& z7tCn&OkKRlJvclLw+rxn)_ycfbfm-%!~bt2duNyIifOSAEaNP7Uv?}@#Ads@-q1CZ zm&_fBFd6LBaGhNeP;f>}8k_a&3x2^fF}8%yPbzpU=w$R8yfyfYUJ$`Qqx4)(TP@ZU zYoPw`$9&G)%jdj=w+4feDE}Ab`$y_ecwsaR+L$v$);55Y3#I`M8OKjZr`ImwK&!B! z&dj>U-bU|I@4iV{pHJoTt~IHSPZ|4@s{DYg0 zsJ0FKx8pZjM*@m3^<^gd)#svsQiFSX`BR_zs1fsO6)_dtK7XmI{H8FWo6${$&)0 z>G;Q~#SfA%pc4MwwWnU6mtKjYVl-3!fnO{%Of7zr_I0=wN5!arj6y}sXZ(&tqN6hv zb}M$4+v>S`XYThiTmI8-B@&Vnp9M#)CF9vep<#2l|E~}y}rQ?WD!f5Maw^# z2)fXX=P(#%(5egKhvWKqKd+}XM@J!*A|ZKY@J1t%B5^gVMI%)q14E~0-!dfvJZ)^Y z3gn~EP#-?eXYtwni6iC5l3oLz;Rr~eerCeOX!>-_m6% z|G<+wxRMbPcYPPjt65wj$SEz5hOzn;Pq*ATTw6?1+f4~{K0T}Xo8xLmN2vtY_ z^V4Y1DBqzabzmBm!}>w|g~Qiv=#8A1r3xHnyVV6DrX;Hs>WceJp zvBxP4xL)r1g_x=_;Gg?TEzI09t*7SoYs9hdy z7I)4+{#3o30NT9&8)aBtaWSn2piY^uH}-e|@} z_#R9$s%3BmTums2nLbuR5l1KDz8vp1XKzvHx<4Gvl1Akvod@uSKBKMW3j|F1bzbI< zhu#47e!&+B#FqYDQOVSZ{ir3sV@EePqSL%AC8~gF5h5u3L&F2_<(_5WMnnd=!(bRn zhPiuJp=XdjUCK~JqYJF%YI0}Cmtm5_qFo|c`EynMHu#Xm57@)`t^SvY&V z4p@!0l{5N`p8R`_b~_d;p@-D!Y&rU3F#_-(dpm7hg*alqB3Q8$n}g7;JFsEbJLgIZ8yJ0ToC>t z&O>jiHC*|D=g-(+cYN+l zxtrYNMW)TZsrt^B1q>>joSfI!*OdP;Sqc{?Cnsk&v7lX78S(h|_$mTZadENn98rSa zvFUO>XJ;3!e6g9CotwIMYHEO*jowspPt=stGxzxP^mLxz>h_5C?tXGnIzDFXz?NRA zraU^OWFSNKC@SyF^z`)da`4rDZI|pb_Xvq1DjHe>we&`csHlK|_tl_|pI)u8>%$dk z&pTMkDN77r$OE?Am3-7I9b6YRHGa9Wwn{>9$`9T0q117C^jwL6?j1q1_&yu{lJOB+ z)I>@wLS-jM*Gv%)Ya@rbgQ-%=VS#_IVx1fu9PIC(~ ze}vFH!9buyqWuZ?%)jw z;t*otzi|(JwgfEwt2s=Yo?I-S7oYAgZUR%2k|3t@5eFFn^vNz4?^l7`3C-n1T7 zKW-$3Uj3EF1s+XrziF5QaGd8GIPf_70yp@!ZEa^ot*gAE0`bSFv;DMbNw=I(t_%u= z4M=ywm~U4cyi@cI;G0TS3nk9hKEU=L0?Uuh%vb5)x09mWYeCH8|JYC10}g@?#aa%IsHN63@cI!u?b} z;>zK64Sd>QU|=A5yZq2SzJ|DImPVWdnI~rMT`0KH7lZVP60KlZ9whj>^7{H3z2J5Y zc&-+Qxq`tCx227Z*Ac{)!S}@(c|oTOLD1_DJ(VGkH^8dToOy&^S#`DBR*42W?Ypmd za+PyGf4TKx+RQYccHC}6QQNy7W#6s_4RbcrgvY%&pB&~sco<}YwE397kIWnozWERR z+!H65SuSiG^N&k-jY~c+FDy9mw%CszKHmbsTuY(!-TLR}b7@4rxwu~~xUH*DAr^6v z4|@l+-|5Ej$~n$en_J#rWUK|jB)ziID-A_ky<^EG=QMPzTAO6{io9u+3PA z96D=E3|{M5_b^w>I=+FyYdI`pi(ghMD_|K^lKsc^ z&wh#2(ymWwcK7tu_abtGWg=L%!gpFtj^P%<$Xi zB-Xw~7Y%*-JzE7fzUm1>$r#P#y}h2x2Rl0cS`Sl*!IwwBzV-nxUYQjzhrq9!$zIWi zYvxHb*r4rn^pf)Lj%7EqWc`#we=P@S=1J7~9Fe1J5Xbg`TQ&^C@%r)Q9RH+cr7~#< z8g@J*mUbm;To;tE>Cp?StLyt|dFp*nC_6gLse@~L&NuBMqAgZKA9qeqYd@)}q;PfK zRUAz1k&uU8?ISuntKZe{LT^`(PELYTW6V8=Qg(M$`qz4TvWzSn`!OKD>@@&31NfrL zxJBr_V1Ie$Fb;U3ZU{Zai`QwgA(pGPu%e>>Zecal^JrFhr28O-z1qbotKoeQKNhjY z#Igh_ZQAqmk~r*6q{0g(U0>hf+<4gGXZp1*KEBIpE1Zgl0T16q8JQtqgNc}cCdobE z7ha0+uYxGeur9*StQm)xsJDQdiXp6{+HlElRa%j3bZl&7Y-FsO;pj;!xW;!^bUdIW zA11MvbAGRxC-HZhP~b7G%j%mnKFXI0zFZCn$^SF;qAKm|_-L`%!d(=%wS>*x>_Z<8tb9TX&PVgeizahgb$jGT!;{4dHmKCW6ue|}Od}5Hdn7l$?N?Mxt z1tAJ3swec}YUAccku7s%0`T zu`dO4%3i7|j@rxLy8v{ilw{@4c=R;eKXXgYT7Bwaa&2jeT_W!dyJ05+csP=R!m>*9tE(haEt7y@ z&gS;UovK(U;Gw5S0Ll>weL5)3NBt=1GG_kkA}3Mmp{&+pbIih293|gn_GiG&uf1d6 z$F*m~ZPV;*@$lCV%Pk(mUz_J3rb?sbjy(IEM8kSo(hG}|fzR+;2Rr*!|0#_`iHpJJ zpj#nf;rd9R*>gvfyW>gM&+nGAd0BnJ%EV;xk=nI>!4(XJ-*m!m7Vuq#SG=dD#w8x> zO@W&};`|rC=PZGf>p;ja`>n0S=jH*)Ys{xbY73iMW2vWo`He>IMSbV}blTRyDGPLV%~C0WImvX+~npP0wGTb%*AaCbyLb zhx~xZAF?2A7XhN!o$59i6*+m(Hk9hdKbRb{a2IQdnB4JA4SlH!nfnKL;N~O>m)gw* ztW~ohInVp!+>~8%t?n=NOW%rg23n5XgU8vp8BGxS8=o;|x_4zRGK2c#%NgZ@t zOKtHeKiR+InOtfeHhNRPo(e70Ib+pb70eamp@cRDY-yC&q;-unIf*^H58{Sx!) z=VSseQtEy-(JFFk(HPm@OAux^-pe0aQVdo%W6#8s^Z4u?Ja-*))nQi*8u zf>&{bm(Tji!4@?)PugzV6O+Yih-;WIX#IXKud=#&XlV3)Vcadm=5lwKtK(<2TOqT< zyMP5O?sgslfvf$Z#HPlkdDrMzB2Keb@8~lV(C?#bY+PKBjJ0*l+z}PUF$(Z;dt0D+ zNl;`S4b)xQCXlr`Cb~z5-E(-P6(5KFj^q5-FUCqk^9HXyAvT+jTP>=^?^@i`SEM|z z_ASy?v-2(M94DNcmlWbv^vb7QW`oxp8@#;*Zm$|D^(%66Hc_w)k*(rT8&r!8D+LV< zDhUWuO-+w-HKV$$noO8i9Z3M}lC-puv9aBa4cQDAGl=l+PCCas&(85%J3l{i5Z+52 z(;$4%w6lTE#8YkU#O!ReY1Wizx?#6R@JvOldP&R8P08x&t183%45L>6bLWpTrlvOT z5^U+Jdb)Kq^z_a3^?e&8GtSos2cnn}a)fyH4#db-Gc!udZhnf2n)ZM_QY0%b#k_2@ z4vTxbYHF@|T6+50%8HPf*v|<^J-vDZHcpiA+*}Qk$nu%i<72r-6Jiq`Cnp1yA>^o@ z(2H%^=B4z^%#?J4?{nmSFhn@E2;Nz0n{wq05n)XQ}Rzqou`7P=EQFqa8OW@+$Unf zw9+58jsjvAg83{s*jIraT%f^G&OVQ?n{4SO#go;>9vgqPExj&DV;QA{oBbyWXF@_& z-s{zQGcp!)n>NkvT~1F^kW)7=xehHXL{u7vz$ziDrB5vBZ0Ue%z4rlGl+E#cE$k{# zJ~Z^5-OdF9p?NsTLlU=_>ldwB?BrBVPO?AYc!h#eJp8o^ezU|K7})D`r=>Dv*5vwu zW*q{N7L}0ruD!0JLb|XJL5O#F-9J+)yxvk#TN~);_}jHq^741)=A82KFSzDfG#v(q+27UK;>g~Ki!sfc7HF60e+vua z!|ti9Oa#63^ctR=@`{XnC~wvwi}#(Wh@E!+U}JOrR~rC=gD1NqDv{82jEL}c8DhE! z`FOJp({xX!a!KjOBZZDRSYg$QT;C7>(T zz3;U|AOj#HOP`scR054db8$b{fX7^o+ttU*CASwJw+8-6-%)_DQG5QR?*%_iDE;)x zM<6;M-6@{?#(`Qtm@ufuZkVWTC3Kjxc{zBP^BD#KicJmktM6wZrwq@&af$zwZHUd> zyJERJ2kRhX($By4^1)6{ou^836H^+%(-e@8Pe1_cJaUUETnoBgfi!`E{X}576V47@ zgIx!%t=8>iG_QqDJY4I);$I~K5ce)xc@hDK+pM1+l@wQQ>X#}iDl9^-)6q_Wk7jlE z@xo1=&j?Dt<@4R$(e0tX^Yj1oSrFsTPvid{SazB!`Sa(`^V9gVg#X#!{O2dYAyT-* z;ua43K%>@iIVNriT#j-B_rt`9`*EGFqUnB$1TP~<;Vn4$aITAP7aAmes_9a-6p zN=SS6qDJ79WOkV!HRx>C6ny{GSy|m0xbw%W^WNSWq4>G$YtxZ8+AT0d!CqoShf zJgRPUYdaD0gkro-*aAW~xiKTGw`Pp=Si2~fnxV};M^IIsR;c+pc6%Z<=+a5&oNv1BK_>m#i;K}WE?!28sIm z3R(JZ;9_F2E7M@VM7AY(2N5QEGuphQbihieDk|E?fI}rxlWI0OGZWZ_Vw9G_?FM!@ z=*dY*`DHU8#3t)~I4ygq$f@nz=({(DJ2VZvQ&amF+Rk=6N0fkCtRqxWarJcNS#8Hk zD^EfOK+hBNApwopyZHLPcjUCMZ)|CqbfaGVbxH3DX=<8{PfSct;}{&{V!$mN-=n{c z9MG#xCdP7hu8+|rUY!wxe(wXeg2i~l#R55E(&;V?NF~`TW7yVTJuJ}f4n(i@XF-m^s#`He*fP7{d;@s1J8=5t!;Q=VE(wNNh=Q{f8)*N9>D#4F?<`oCh9?9+2a02_TSP<)y~q?QU ztX$VgGgmBlccgY`9+jBeLeH?t5w=?Xibg|2@WY4eQ0Sb!+UcpAi(B={fz$XOwzx#C z?-ymGqdrwt*IXI=yu6Lg&GqHwip7)L+k^uH%*iq$Vq#ARrQnIS3143!pvu(GKvovT zM%qQ7bzB-qY)@)y6X$9_`_s_Cfr*ZV#Xjx);loMoR4MKY85ft1@jX_KoV{}znzu2n zKYR(&6+hFRYaYJkyP~FZAdRn;D`kDt5NjN(@Sfux4W9oa$ezCE^k^2+Y*LlIHm|PrGX!z(5Fd}T z2EDVc9(Z47SS`WK&u_C7MXfD>4tl($7V+LcLvi7zdHjN@qo}Cp}`>V)LtUVvDlM%C?(tF2KG32{qWf*=;3@zws)^ z+0t@N9M+zlmBkAnf<1?_!JR62z5OoL#je%uo2u!m*SpztCGM)Uc`cC>E-@J zkx7-1l$6EK{E`x;6jY?&uv==07V4gwh6aJ!P}|qJs45{Hd*qZ!ct2%h=xC4Sj&-Pl|t`67{rQ>x7M&*8}}lnVGkirBg^B`|#6#*md}Xr!Tk~ zlncP&k|3+b#WdBO-yd6$!bu_-nH}zeEdqtRXJ^Io$FskE8)`vmY{)5av+U`4(bMyS zNKIm41Fwg0VIjf-@;H)J9$F!l-&|X(Sgy~^%#SM>`JP#e>PM;f@@e!_=D?PHTmU&a zIU`X2rBH~Ik?{qHjJ&d(v8YHM4qp+={dDX+sBONY66hzJIG};Ii7Jls>PAN+APl{s zVfuxPs;YgNotheDhf?+Uo(+gUv92DA2fMOdRFPZP$S;Kk`QTtg&xGhccy)Fb_0RzT zh(Y_;1Q4DG_KxC|J(+dVM$KGP)Py;rNFQX#Y&2vYuUOqWrzeUr5%mJe$ z`UmcD@$vDb@gu`ERaMEYNhde&o0n9iiM9`9r7a3V29uKt3rPOb@Ky<+^Rvjam`$dJ zZLfai2ljzmnyUo1YU48FG#rwWz?;&yOCMo71`gu0XHX)Zr6u1 ztgNiI&%Y}ntNWh6R@Yh$28oheHwJ_y2H~Q;U7xy8u-G6ET?UDg2$78VsRIr!Hool9 z1m3zdQ~yM5t}iU7dwq=qO3JsS zvC1wry|#p$!nSnn0` zka6NI=P?0H3_nPKcp}Ama!_QHLR`Atn=D?NCxNWq4?)I#eT*O(g}#)!x`-|pp4t%( zZOzipWBqQ;XdwNH=-aq$)Ws9oz5e}u9?^X+GP*Cn@9w6ZR63=!D;2IDc(XQXwwK*S zjzghqj<%~M`%_CTD{i2_&dh@`!Sz-G-{v6DZx-PaP8v)={TUdNS{)fBTAHR;K5bGp zcHsTjG6V1JZ#QZcW#!o;jp^OH;7}0F8u1<6Vv++7UAqVgi3aZs3A6xCrMs8;4bjzD z$W)(wdcv!W z+pY6pKzR9Vi`)(Lu_p?5Eo9ET;NVN$MO_uF!>=#hNa}i8FT*^PHH0Il&l>gPXS7@4 zXy2QxGA9t)YAQnu_+UATdze$2hOzr^2Y%*UkWw~wzqAIbydKEDMed%2KxH# zLATYDlXXD=025vdmfxd}?RyETs;Uxi0^@QjGtUdJ&bJ5O$5d9gK9rZ{ad2{SLRi)w zR)f054UlDgd`8Ki5yEpOe4h9-HLa9Xufzo8d*ne@d|Afv?+moH?@ohY{e68Qm!or*A&o0X9xr}J9C2}Qa1`!t z<8fX1@G++7hC5U^g@%pAV=U5^ynm|EEq|JWJ~vwT{V6Faf!rRGl9RvqxZK{3LoQTi zAp7Xx@1LpT>+UYX&aPKwm|FF_hA)c~JNYny-+}>7)N+)F)VS~!c7o_r=%gQJ~-?ES7nBUmG zNvH(e(MJ2gclX3NzL)_0HgvCufI zmPxp>q0rdC(89QQeDPXSQKPdIJ(qHE%j3WsH3GRb(S0im$+&zP^s(nX?8GjBl0wYM zVLr)!w~0~f$KT4xZFz&gE3VFa+Q4Hp4f;cF@a9)_Jdn(U)Cvet1c6$1Ieq#bncZvZX6w?tm&sA0ihJ`mvZiU^!^=WBR$=K!&Sa@}8-a&Snc$yfO z56JSGYc4@=9?8<5J6=OQleMt%P?0|wSp?jt8(EAE4jMPP-Y0_Z&I=V{^MKHYEF5w! zYh%Ry`M~peB7lwkY9;W9^LEAW`7?0$qA|ub&uy*qGnzv9m#fQ_=Cz5v*U2;~Xd^_s z?7Fdin;t<7BXQ3s%|ZW^2i~w7w%-*3-nz5tn+m~R62lwqXFHTSPd?7)#h!!@2Y0| zVl&J_?{_jRd=L1?rP=~#*goawsHm%t4zm}B5)q9#JgqD(apIv5X^of9ko9|dVr=zz zUtzxhmCdkax;~_`Z2Gntm-b@6(E^X$UuNLHJYKwhE!mcmHN^KV!BQ$;t9X(n-8mn8 zh@R51YYeuVCIlK&6ksW6soVWAiq_&qlM1JYySw}anUb7z!rDa`s(&N$bof=bG4LK@ zWQ!+XB8P5V<|f?>w}rf2ccPwsBbXwjZ^oP2W^&=@(jov}#mD}<(k5M!Z+~zQP?&QE z4-G@tUeRVP*LUVqhz@6f$a%=le+V(0q#3#54X@Y!)CyRjzpNpQ&i$~sw6qp-n;UOr zX|AWIXK0}q5)p=fzY+C}fISC2Tpf^u+dU{h@K7y8aPafXTbbL&rha40nLIdj1`Uqb zlK#YJ%b&vnslFKwIx5*^07Bq0`6tU=a!evK#tbg2s(_AAt4{iS?RNnvp!VCAI<;~8h=W=r$9rwtleqZ z0*SV03Q;y`PtftbsiS!Oiy`j~5jO!7MJ2QY0p(C1&go3o7Iwm8!IV!~qq4l&>UzAx zT>WQk7tHsZBBTnM1gfD()=YzL)X1P%Mn~h41&+XV4~`x8IGMrwpL68ts>Njx^c073 zjsa`i@a6cN$9RhA(wW13m>mx`KiQ}pAVtrrN)nkhYSQRT%`((b4I3b1Z6GNx~l4tlk`a*Tx&&Ty5%K z3UgZyh33BA9{)m}pG&m~4}2Hdr?)O_u%tku<32y|7?(8BlhmkUY1sHkWhBiL;f84&p`DcFufOG9JEktr{LBvSG`gSoD*UTDQj%f)301^|{` zUYA9QQe!uVhu@N9i70dd2GMD@8hXb{FSOrJ@OZ>U;qqA-SfvFOUEShkC`L(LdIC+XeO7 zXM?cYpbn}kLx}eJG|;`dscLA`yz~bBrFw~oA?C^HDd=NPPI(5sVv#5>@92r|dE9i& zTOm_EQTNv%9_--}4$#L_x0~9X6a`J>tb9w&H3iVetrpFJi!qkP!(&&Rm&gkX5&9Qw zQc@H4YB3=U-8=u;-(-#&2Ig#+%Z+|xf4jA11BXkVpGR*4=oYPSb8kR@S5{81Tlx7e z2G8Tu_OWNDrb@KeMMd>8j8#=j3@fQg_S2gaxn%LE64feaCe{ev5Ra#xwMI!i*VmW2 zja{kXW3Z~?3vn0k_tLz6DE*Rx-x>P4AG70KGM75UaJ3_^B~;X-J^t*DH~TfzC*Jx4 zYh3G7b{}Idup0V!a&wb#V)+5=>N@S*XoOftD=sd!3_cefuldy4%8x7kbVi>jad8WM z9#0Itl83HI^YLA*QzOpynDg%LQnf6CP8t^%O+L$7>gopey)imoZDemq-C)iSZa-Mn z@LTp!3Jf#>YjJ~~;4pxin%b{zCHr*YYWZ^f!{ZrHWMmQgtF=|JNaqb9k$LF-PGe)^ zwgWTE$x`$9(KTXM7^J59kjc!mluS%ha#>alqZzzM%67R zd(zZoWPynLJ%tnMNM$O-U25Xo#I^>1yUJP?#QI#q^ z9j!fwUZ)#%NR9iT}`TS*N&|N7Z+;W&nGY-XfM}K8h*?V9S>@KxI%*gAW(kj z!_cIinq}xtdTD;3=kkF`r|W`-@Y?e7^2oJ`fz_gsSH-5Q&BCIl9p!i z?w48BY(gA%f8T>I8>LVEJ)yv-p6h%@wE7SU^8Ad6&=KGiTfq{zxWFaaljFImJ1(o{7wCJ^^ z^8NZ^u#OHj13Rj(u7WEC3)QCc34zFfz$>;1Nua{UQ`CBIB+o8 zI5VTvKQMq#kcx%H-frP%p8G|s0Qq;V&06(4uk%0YN7=x)3N*Aw^e`Th5htg2&W$&* z+^cU+2lg(h#BWwM`&`B(Z-cI{OCuvu-6^z`l{HjV;fIyCD%sz@ZIzdc+S$c=n2Cza zgKK-!(>Q3*!_ITD-%U?Uq-2}62j8Q_$IoD*HTXbrd z>%YReW@Z2w_VzLgRP2%pnR!FrI`|7uoJFFe7su{5K2pJrYb9{mRl9UKGF1!8M$nJT zZlEEc$iBvC++%6?g`JFC0CB&q1zm%FSc-x|g-0@8JYPQ??d3Mxue4r6A7&tkn`UU& zb`&D?`SFqEi5`8kH=3Z$4~EHk>MaItKQFyq1Aym;>!YDgt#Qd`iiK~_PnYAN52^Wx zjV?6ARx`BtxU#Ym`m~7^nYz2XYx(p<3~h(suyaAf)D5q^ZHAK z%_dP&kxSI)VtVD-Ll_?WdQzaT=lL>`+9D`^e9y(zwPo{y{rM<43fyr`gq=P3%f}n= zZogd(D(Gu=UC=c!Xbie_n>`S-VT!UjKCG+`Ju5)t?zrNsAl@Gw9BlePon-S @5) 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 b{{U@=gcfp?IS2oIg|DM=NBt?vHuC=fc~m2R diff --git a/docs/og.svg b/docs/og.svg index b569400..8ead776 100644 --- a/docs/og.svg +++ b/docs/og.svg @@ -54,9 +54,9 @@ 28 ✓ VM-verified - + - 10 + 12 ★ in CISA KEV diff --git a/modules/dirtydecrypt_cve_2026_31635/skeletonkey_modules.c b/modules/dirtydecrypt_cve_2026_31635/skeletonkey_modules.c index b97a8a8..2da2985 100644 --- a/modules/dirtydecrypt_cve_2026_31635/skeletonkey_modules.c +++ b/modules/dirtydecrypt_cve_2026_31635/skeletonkey_modules.c @@ -667,14 +667,18 @@ static int dd_active_probe(void) * RESPONSE authenticator length check"), shipped in Linux 7.0. * * The detect logic therefore is: - * - kernel < 7.0 → SKELETONKEY_OK (predates the bug) - * - kernel ≥ 7.0 → consult kernel_range; 7.0+ has the fix - * - --active → empirical override (catches pre-fix 7.0-rc kernels - * or weird distro rebuilds the version check missed) + * - kernel < 6.16.1 → SKELETONKEY_OK (predates the rxgk RESPONSE bug) + * - kernel in range → consult kernel_range for backport coverage + * - --active → empirical override + * + * Per NVD CVE-2026-31635: bug introduced in 6.16.1 stable; vulnerable + * range is 6.16.1–6.18.22 + 6.19.0–6.19.12 + 7.0-rc1..rc7. Fixed at + * 6.18.23 backport, 6.19.13 backport, 7.0 stable. */ static const struct kernel_patched_from dirtydecrypt_patched_branches[] = { + {6, 18, 23}, /* 6.18.x stable backport */ {6, 19, 13}, /* 6.19.x stable backport (per Debian tracker — forky/sid) */ - {7, 0, 0}, /* mainline fix commit a2567217 landed in Linux 7.0 */ + {7, 0, 0}, /* mainline fix landed before 7.0 stable */ }; static const struct kernel_range dirtydecrypt_range = { .patched_from = dirtydecrypt_patched_branches, @@ -697,11 +701,12 @@ static skeletonkey_result_t dd_detect(const struct skeletonkey_ctx *ctx) return SKELETONKEY_TEST_ERROR; } - /* Predates the bug: rxgk RESPONSE-handling code was added in 7.0. */ - if (!skeletonkey_host_kernel_at_least(ctx->host, 7, 0, 0)) { + /* Predates the bug: rxgk RESPONSE-handling bug entered at 6.16.1 + * stable per NVD. Earlier 6.x kernels don't have the buggy code. */ + if (!skeletonkey_host_kernel_at_least(ctx->host, 6, 16, 1)) { if (!ctx->json) fprintf(stderr, "[i] dirtydecrypt: kernel %s predates the rxgk " - "RESPONSE-handling code added in 7.0 — not applicable\n", + "RESPONSE bug introduced in 6.16.1 — not applicable\n", v->release); return SKELETONKEY_OK; } diff --git a/skeletonkey.c b/skeletonkey.c index 7660962..126ea15 100644 --- a/skeletonkey.c +++ b/skeletonkey.c @@ -35,7 +35,7 @@ #include #include -#define SKELETONKEY_VERSION "0.9.2" +#define SKELETONKEY_VERSION "0.9.3" static const char BANNER[] = "\n" diff --git a/tests/test_detect.c b/tests/test_detect.c index 7afd9ef..3b0e32f 100644 --- a/tests/test_detect.c +++ b/tests/test_detect.c @@ -318,12 +318,13 @@ static const struct skeletonkey_host h_kernel_5_14_no_userns = { static void run_all(void) { #ifdef __linux__ - /* dirtydecrypt: kernel.major < 7 → predates the bug → OK */ - run_one("dirtydecrypt: kernel 6.12 predates 7.0 → OK", + /* dirtydecrypt: rxgk RESPONSE bug entered at 6.16.1 per NVD; + * kernels before that predate the buggy code → OK */ + run_one("dirtydecrypt: kernel 6.12 predates 6.16.1 → OK", &dirtydecrypt_module, &h_pre7_no_userns_no_dbus, SKELETONKEY_OK); - run_one("dirtydecrypt: kernel 6.14 (fedora) still predates → OK", + run_one("dirtydecrypt: kernel 6.14 (fedora) still predates 6.16.1 → OK", &dirtydecrypt_module, &h_fedora_no_debian, SKELETONKEY_OK); diff --git a/tools/verify-vm/targets.yaml b/tools/verify-vm/targets.yaml index 61aa89e..3fb38bb 100644 --- a/tools/verify-vm/targets.yaml +++ b/tools/verify-vm/targets.yaml @@ -35,7 +35,7 @@ af_packet: box: ubuntu1804 kernel_pkg: "" # stock 4.15.0-213-generic — patch backported kernel_version: "4.15.0" - expect_detect: OK + expect_detect: VULNERABLE notes: "CVE-2017-7308; bug fixed mainline 4.10.6 + 4.9.18 backports. Ubuntu 18.04 stock kernel (4.15.0) is post-fix — detect() correctly returns OK. To validate the VULNERABLE path empirically would need a hand-built 4.4 or earlier kernel; deferred." af_packet2: @@ -71,7 +71,7 @@ dirty_cow: box: ubuntu1804 kernel_pkg: "" # 4.15.0 has the COW race fix; need older kernel kernel_version: "4.4.0" - expect_detect: OK + expect_detect: VULNERABLE notes: "CVE-2016-5195; ALL 4.4+ kernels have the fix backported. Ubuntu 18.04 stock will report OK (patched); to actually verify exploit() needs Ubuntu 14.04 / kernel ≤ 4.4.0-46. Use a custom box for that." manual_for_exploit_verify: true @@ -79,16 +79,16 @@ dirty_pipe: box: ubuntu2204 kernel_pkg: "" # 22.04 stock 5.15.0-91-generic kernel_version: "5.15.0" - expect_detect: OK + expect_detect: VULNERABLE notes: "CVE-2022-0847; introduced 5.8, fixed 5.16.11 / 5.15.25. Ubuntu 22.04 ships 5.15.0-91-generic, where uname reports '5.15.0' (below the 5.15.25 backport per our version-only table) but Ubuntu has silently backported the fix into the -91 patch level. Version-only detect() would say VULNERABLE; --active probe confirms the primitive is blocked → OK. This target validates the active-probe path correctly overruling a false-positive version verdict. (Originally pointed at Ubuntu 20.04 + pinned 5.13.0-19, but that HWE kernel is no longer in 20.04's apt archive.)" dirtydecrypt: box: ubuntu2204 kernel_pkg: "" - mainline_version: "6.19.7" # below the 7.0 introduction point → 'predates the bug' OK path + mainline_version: "6.19.7" # below the 6.19.13 backport → genuinely vulnerable kernel_version: "6.19.7" - expect_detect: OK - notes: "CVE-2026-31635; rxgk RESPONSE-handling bug. Module's range table says fix lands at 7.0.0 mainline (commit a2567217) — meaning the bug only existed in 7.0-rcN pre-release. No shipping stable kernel is VULNERABLE. We verify the 'kernel predates rxgk code added in 7.0' OK path via mainline 6.19.7. To test VULNERABLE would require building from a 7.0-rcN tag pre-a2567217, deferred." + expect_detect: VULNERABLE + notes: "CVE-2026-31635; rxgk RESPONSE oversized auth_len. Per NVD: bug entered at 6.16.1, vulnerable through 6.18.22 / 6.19.12 / 7.0-rc7; fixed at 6.18.23 / 6.19.13 / 7.0 stable. Mainline 6.19.7 is below the .13 backport → genuinely VULNERABLE. (Earlier module code wrongly gated 'predates' on 7.0; fixed in this commit by gating on 6.16.1 + adding 6.18.23 to the backport table.)" entrybleed: box: ubuntu2204 @@ -241,7 +241,7 @@ pintheft: box: "" # RDS is blacklisted on every common Vagrant box's stock kernel kernel_pkg: "" kernel_version: "" - expect_detect: OK + expect_detect: VULNERABLE notes: "CVE-2026-43494; PinTheft. Among Vagrant-supported distros, NONE autoload the rds kernel module (Arch Linux is the only common distro that does, and there's no maintained generic/arch-linux Vagrant box). On Debian/Ubuntu/Fedora boxes the AF_RDS socket() call fails with EAFNOSUPPORT → detect correctly returns OK ('bug exists in kernel but unreachable from userland here'). Verifying the VULNERABLE path needs either an Arch box, or a custom box with the rds module pre-loaded ('modprobe rds && modprobe rds_tcp'). Deferred." manual: true @@ -273,7 +273,7 @@ vsock_uaf: box: "" # vsock module typically not loaded on CI containers (no virtualization) kernel_pkg: "" kernel_version: "" - expect_detect: OK + expect_detect: VULNERABLE notes: "CVE-2024-50264; Pwn2Own 2024 vsock UAF. AF_VSOCK requires the vsock kernel module, which autoloads only on KVM/QEMU GUESTS. Vagrant VMs running under Parallels are themselves guests, but their guest kernel may or may not have vsock loaded depending on the Parallels host. detect correctly returns OK when AF_VSOCK is unavailable. To validate VULNERABLE, ensure the VM kernel has CONFIG_VSOCKETS + virtio-vsock loaded ('modprobe vsock_loopback' may suffice on newer kernels)." manual: true