From 4aca7f22a8ca2965cd130a4a0f79d3e37b6f4b8e Mon Sep 17 00:00:00 2001 From: luisgulo Date: Wed, 12 Aug 2026 23:37:45 +0200 Subject: [PATCH] Mejora en busqueda de vendor/product/version --- INFORME.sh | 0 README.md | 40 +++--- check_EUVD.py | 224 +----------------------------- informe_vulnerabilidades.md | 255 +++++++++++++++++------------------ informe_vulnerabilidades.pdf | Bin 36924 -> 34298 bytes targets.yaml | 33 +---- 6 files changed, 140 insertions(+), 412 deletions(-) mode change 100644 => 100755 INFORME.sh mode change 100644 => 120000 check_EUVD.py diff --git a/INFORME.sh b/INFORME.sh old mode 100644 new mode 100755 diff --git a/README.md b/README.md index a2043d0..f7d5e3c 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Asegúrate de contar con los paquetes base del sistema y el motor de compilació ```bash sudo apt update -sudo apt install -y python3 python3-pip pandoc texlive-xetex fonts-dejavu fonts-noto-color-emoji +sudo apt -y install python3 python3-pip pandoc texlive-xetex fonts-dejavu fonts-noto-color-emoji ``` @@ -37,20 +37,22 @@ sudo apt install -y python3 python3-pip pandoc texlive-xetex fonts-dejavu fonts- 1. **Clonar el repositorio:** ```bash git clone -cd ENISA_CVEs +cd ENISA_EUVD ``` 2. **Instalar las dependencias de Python:** -Se necesita: - -* `requests` -* `pyyaml` -* `packaging` - +En Debian puedes instalar las dependencias necesarias de Python ejecutando: +```bash +apt -y install python3-yaml python3-packaging python3-requests +``` +En otros sistemas puedes realizarlo mediante: +```bash +pip3 install requests pyyaml packaging +``` --- ## Configuración (`targets.yaml`) @@ -59,24 +61,12 @@ Define en el archivo `targets.yaml` el listado de tecnologías, proveedores y ve ```yaml targets: - - vendor: "apache" - product: "tomcat" - version: "9.0.118" + - vendor: "Oracle" + product: "OpenJDK" + version: "21" - - vendor: "jenkins" - product: "jenkins" - version: "2.504.3" - - - vendor: "goharbor" - product: "harbor" - version: "2.11.0" - - - vendor: "oracle" - product: "openjdk" - version: "11.0.21" - - - vendor: "gitlab" - product: "gitlab" + - vendor: "GitLab" + product: "GitLab CE" version: "19.1.1" ``` diff --git a/check_EUVD.py b/check_EUVD.py deleted file mode 100644 index 416eea6..0000000 --- a/check_EUVD.py +++ /dev/null @@ -1,223 +0,0 @@ -#!/usr/bin/env python3 - -import time -import json -import yaml -import requests -from datetime import datetime, timedelta, timezone - -BASE_URL = "https://euvdservices.enisa.europa.eu/api/search" -HEADERS = { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) EUVD-Auditor/1.0" -} - -def fetch_fast_enisa_vulnerabilities(vendor, product, from_score=7.0, days_back=30): - vulnerabilities = [] - from_date = (datetime.now() - timedelta(days=days_back)).strftime("%Y-%m-%d") - - params = { - "text": product if product else vendor, - "fromScore": from_score, - "fromDate": from_date, - "page": 0, - "size": 100 - } - - max_retries = 3 - for attempt in range(max_retries): - try: - response = requests.get(BASE_URL, headers=HEADERS, params=params, timeout=15) - - # Si se supera el rate limit, esperar y reintentar - if response.status_code == 429: - wait_time = (attempt + 1) * 5 - print(f" ⚠️ Rate limit (429) alcanzado para {product}. Esperando {wait_time}s...") - time.sleep(wait_time) - continue - - response.raise_for_status() - data = response.json() - - items = data.get("items", data.get("content", [])) if isinstance(data, dict) else data - vulnerabilities.extend(items) - break # Éxito, salir del bucle de reintentos - - except Exception as e: - if attempt == max_retries - 1: - print(f" ❌ Error final tras {max_retries} intentos para {product}: {e}") - time.sleep(2) - - return vulnerabilities - -def generate_markdown_report(total_consolidados, total_analizadas, total_aplicables, - total_no_aplicables, total_revision, resumen_objetivos, - aplicables_severidad, output_file="informe_vulnerabilidades.md"): - """ - Genera el informe ejecutivo en Markdown utilizando el formato de Bloques / Fichas Ejecutivas, - ideal para lectura clara y conversión a PDF mediante Pandoc. - """ - now_iso = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + "Z" - - md_content = f"""# Informe Ejecutivo de Vulnerabilidades - -**Generado en:** {now_iso} | **Fuentes:** ENISA - -**Grupo de Software Libre - Área de Plataformas** - -* **Informes consolidados:** {total_consolidados} -* **Vulnerabilidades analizadas:** {total_analizadas} -* **Aplicables:** {total_aplicables} -* **No aplicables:** {total_no_aplicables} -* **Revisión manual:** {total_revision} - -## Resumen por objetivo - -| Fuente | Producto | Versión | Analizadas | Aplicables | No aplicables | Revisión manual | -|---|---|---|---|---|---|---| -""" - - for obj in resumen_objetivos: - md_content += f"| {obj['Fuente']} | {obj['Producto']} | {obj['Versión']} | {obj['Analizadas']} | {obj['Aplicables']} | {obj['No aplicables']} | {obj['Revisión manual']} |\n" - - md_content += """ -## Detalle de Vulnerabilidades Aplicables -""" - - if not aplicables_severidad: - md_content += "\n*No se encontraron vulnerabilidades aplicables con los criterios seleccionados.*\n" - else: - for app in aplicables_severidad: - # Determinar nivel y badge según la puntuación CVSS - score_val = app['BaseScore'].split()[0] if app['BaseScore'] else "0.0" - try: - score_num = float(score_val) - except ValueError: - score_num = 0.0 - - if score_num >= 9.0: - badge = "[**CRÍTICA**] - " - elif score_num >= 7.0: - badge = "[**ALTA**] - " - elif score_num >= 4.0: - badge = "[**MEDIA**] - " - else: - badge = "[**BAJA**] - " - - # Formatear la descripción/justificación - just = app['Justificación'].strip() - - md_content += f""" - -### {badge} {app['ID']} - {app['CVE']} - -* **Producto / Versión:** `{app['Producto']}` (v`{app['Versión']}`) | **Fuente:** {app['Fuente']} -* **BaseScore:** {app['BaseScore']} -* **Regla versión:** {app['Regla versión']} -* **Justificación / Descripción:** - > {just} -""" - - with open(output_file, "w", encoding="utf-8") as f: - f.write(md_content) - - print(f"📝 Informe Markdown generado en '{output_file}'") - - -def process_targets(config_path="targets.yaml"): - try: - with open(config_path, "r", encoding="utf-8") as f: - config = yaml.safe_load(f) - except FileNotFoundError: - print(f"❌ Archivo '{config_path}' no encontrado.") - return - - resumen_objetivos = [] - aplicables_severidad = [] - - total_consolidados = 0 - total_analizadas = 0 - total_aplicables = 0 - total_no_aplicables = 0 - total_revision = 0 - - print("🚀 Iniciando escaneo ultra-rápido en ENISA EUVD...\n") - - for target in config.get("targets", []): - vendor = target.get("vendor", "") - product = target.get("product", "") - version = target.get("version", "") - - total_consolidados += 1 - print(f"👉 Analizando: {vendor}/{product} (v{version})") - - items = fetch_fast_enisa_vulnerabilities(vendor=vendor, product=product, from_score=7.0, days_back=30) - - num_analizadas = len(items) - num_aplicables = 0 - num_no_aplicables = 0 - num_revision = 0 - - for item in items: - score = item.get("baseScore", 0.0) - score_ver = item.get("baseScoreVersion", "3.1") - euvd_id = item.get("id", "N/A") - - aliases = item.get("aliases", "") - aliases_list = aliases.strip().split("\n") if isinstance(aliases, str) else [] - cve_id = aliases_list[0] if aliases_list and aliases_list[0] else euvd_id - - desc = item.get("description", "Sin descripción disponible.") - desc_short = desc[:180].strip() + "..." if len(desc) > 180 else desc - - num_aplicables += 1 - aplicables_severidad.append({ - "Fuente": "ENISA", - "ID": euvd_id, - "CVE": cve_id, - "Producto": product, - "Versión": version, - "BaseScore": f"{score} {score_ver}".strip(), - "Regla versión": f"Afecta rama v{version.split('.')[0]}.x", - "Justificación": desc_short - }) - - total_analizadas += num_analizadas - total_aplicables += num_aplicables - total_no_aplicables += num_no_aplicables - total_revision += num_revision - - resumen_objetivos.append({ - "Fuente": "ENISA", - "Producto": product, - "Versión": version, - "Analizadas": num_analizadas, - "Aplicables": num_aplicables, - "No aplicables": num_no_aplicables, - "Revisión manual": num_revision - }) - - print(f" 📊 Encontradas: {num_analizadas} vulnerabilidades relevantes\n") - time.sleep(0.5) - - # Ordenar vulnerabilidades aplicables de mayor a menor puntuación CVSS - aplicables_severidad.sort(key=lambda x: float(x["BaseScore"].split()[0]) if x["BaseScore"].split()[0].replace('.', '', 1).isdigit() else 0.0, reverse=True) - - # 1. Guardar JSON - reporte_json = { - "generado_en": datetime.now(timezone.utc).isoformat(), - "fuentes": ["ENISA"], - "resumen_por_objetivo": resumen_objetivos, - "aplicables_por_severidad": aplicables_severidad - } - with open("reporte_vulnerabilidades.json", "w", encoding="utf-8") as f: - json.dump(reporte_json, f, indent=2, ensure_ascii=False) - - # 2. Generar Markdown - generate_markdown_report( - total_consolidados, total_analizadas, total_aplicables, - total_no_aplicables, total_revision, resumen_objetivos, - aplicables_severidad - ) - -if __name__ == "__main__": - process_targets() diff --git a/check_EUVD.py b/check_EUVD.py new file mode 120000 index 0000000..4faf8e5 --- /dev/null +++ b/check_EUVD.py @@ -0,0 +1 @@ +check_EUVD_v2.0.py \ No newline at end of file diff --git a/informe_vulnerabilidades.md b/informe_vulnerabilidades.md index f7fdaeb..5fa2dc7 100644 --- a/informe_vulnerabilidades.md +++ b/informe_vulnerabilidades.md @@ -1,163 +1,154 @@ # Informe Ejecutivo de Vulnerabilidades -**Generado en:** 2026-08-11T15:40:58.463Z | **Fuentes:** ENISA +**Generado en:** 2026-08-12T21:34:52.371Z | **Fuentes:** ENISA **Grupo de Software Libre - Área de Plataformas** -* **Informes consolidados:** 10 -* **Vulnerabilidades analizadas:** 13 +* **Informes consolidados:** 2 +* **Vulnerabilidades analizadas:** 103 * **Aplicables:** 13 -* **No aplicables:** 0 +* **No aplicables:** 90 * **Revisión manual:** 0 +--- + ## Resumen por objetivo | Fuente | Producto | Versión | Analizadas | Aplicables | No aplicables | Revisión manual | |---|---|---|---|---|---|---| -| ENISA | Tomcat | 9.0.119 | 4 | 4 | 0 | 0 | -| ENISA | Tomcat | 11.0.23 | 4 | 4 | 0 | 0 | -| ENISA | Jenkins | 2.504.3 | 0 | 0 | 0 | 0 | -| ENISA | Harbor | 2.11.0 | 0 | 0 | 0 | 0 | -| ENISA | Openjdk | 21.0.21 | 1 | 1 | 0 | 0 | -| ENISA | Openjdk | 1.8.0 | 1 | 1 | 0 | 0 | -| ENISA | GitLab CE | 19.1.1 | 2 | 2 | 0 | 0 | -| ENISA | Nginx | 1.30.3 | 0 | 0 | 0 | 0 | -| ENISA | Artemis | 2.54.0 | 0 | 0 | 0 | 0 | -| ENISA | JasperReports | 10.0.0 | 1 | 1 | 0 | 0 | +| ENISA | Openjdk | 21 | 3 | 0 | 3 | 0 | +| ENISA | GitLab CE | 19.1.1 | 100 | 13 | 87 | 0 | + +--- ## Detalle de Vulnerabilidades Aplicables - -### [**CRÍTICA**] - EUVD-2026-49849 - CVE-2026-66713 - -* **Producto / Versión:** `Tomcat` (v`9.0.119`) | **Fuente:** ENISA -* **BaseScore:** 9.8 3.1 -* **Regla versión:** Afecta rama v9.x -* **Justificación / Descripción:** - > Deserialization of Untrusted Data (CWE-502) in the Tribes-based clustering component - -  in Apache Software Foundation Apache Axis2/Java through 2.0.0 on Apache Tomcat - -  (only when... - - -### [**CRÍTICA**] - EUVD-2026-49849 - CVE-2026-66713 - -* **Producto / Versión:** `Tomcat` (v`11.0.23`) | **Fuente:** ENISA -* **BaseScore:** 9.8 3.1 -* **Regla versión:** Afecta rama v11.x -* **Justificación / Descripción:** - > Deserialization of Untrusted Data (CWE-502) in the Tribes-based clustering component - -  in Apache Software Foundation Apache Axis2/Java through 2.0.0 on Apache Tomcat - -  (only when... - - -### [**CRÍTICA**] - EUVD-2026-55673 - CVE-2026-47754 - -* **Producto / Versión:** `Tomcat` (v`9.0.119`) | **Fuente:** ENISA -* **BaseScore:** 9.3 3.1 -* **Regla versión:** Afecta rama v9.x -* **Justificación / Descripción:** - > Metacat is data repository software that helps researchers preserve, share, and discover data. Versions 2.x through 2.19.1 and all 1.x versions contain an unauthenticated path trav... - - -### [**CRÍTICA**] - EUVD-2026-55673 - CVE-2026-47754 - -* **Producto / Versión:** `Tomcat` (v`11.0.23`) | **Fuente:** ENISA -* **BaseScore:** 9.3 3.1 -* **Regla versión:** Afecta rama v11.x -* **Justificación / Descripción:** - > Metacat is data repository software that helps researchers preserve, share, and discover data. Versions 2.x through 2.19.1 and all 1.x versions contain an unauthenticated path trav... - - -### [**CRÍTICA**] - EUVD-2026-55694 - GHSA-p2q7-r6vq-359j - -* **Producto / Versión:** `JasperReports` (v`10.0.0`) | **Fuente:** ENISA -* **BaseScore:** 9.3 4.0 -* **Regla versión:** Afecta rama v10.x -* **Justificación / Descripción:** - > Improper restriction of XML external entity reference vulnerability (unauthenticated) in Jaspersoft JasperReports Server. - -This issue affects JasperReports Server: from 9.0.0 befor... - - -### [**CRÍTICA**] - EUVD-2026-43640 - CVE-2026-59084 - -* **Producto / Versión:** `Tomcat` (v`9.0.119`) | **Fuente:** ENISA -* **BaseScore:** 9.1 3.1 -* **Regla versión:** Afecta rama v9.x -* **Justificación / Descripción:** - > Insufficient Technical Documentation vulnerability in Apache Tomcat since the requirements to securely configure the EncryptInterceptor were not clearly documented. - -This issue aff... - - -### [**CRÍTICA**] - EUVD-2026-43638 - GHSA-hcjr-322h-429r - -* **Producto / Versión:** `Tomcat` (v`9.0.119`) | **Fuente:** ENISA -* **BaseScore:** 9.1 3.1 -* **Regla versión:** Afecta rama v9.x -* **Justificación / Descripción:** - > Improper Handling of URL Encoding (Hex Encoding) vulnerability in Apache Tomcat's rewrite valve allowed security constraint bypass for some configurations. - -This issue affects Apac... - - -### [**CRÍTICA**] - EUVD-2026-43640 - CVE-2026-59084 - -* **Producto / Versión:** `Tomcat` (v`11.0.23`) | **Fuente:** ENISA -* **BaseScore:** 9.1 3.1 -* **Regla versión:** Afecta rama v11.x -* **Justificación / Descripción:** - > Insufficient Technical Documentation vulnerability in Apache Tomcat since the requirements to securely configure the EncryptInterceptor were not clearly documented. - -This issue aff... - - -### [**CRÍTICA**] - EUVD-2026-43638 - GHSA-hcjr-322h-429r - -* **Producto / Versión:** `Tomcat` (v`11.0.23`) | **Fuente:** ENISA -* **BaseScore:** 9.1 3.1 -* **Regla versión:** Afecta rama v11.x -* **Justificación / Descripción:** - > Improper Handling of URL Encoding (Hex Encoding) vulnerability in Apache Tomcat's rewrite valve allowed security constraint bypass for some configurations. - -This issue affects Apac... - - -### [**ALTA**] - EUVD-2026-50484 - CVE-2026-6267 +### [**ALTA**] - EUVD-2026-39181 - GHSA-fc6w-qm7g-jfwh * **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA -* **BaseScore:** 8.5 3.1 -* **Regla versión:** Afecta rama v19.x +* **BaseScore:** 8.7 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') * **Justificación / Descripción:** - > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 10.1.0 before 19.0.5, 19.1 before 19.1.3, and 19.2 before 19.2.1 that under certain conditions could have... + > GitLab has remediated an issue in GitLab EE affecting all versions from 16.4 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have all... +--- -### [**ALTA**] - EUVD-2026-50482 - GHSA-94p8-87ff-w336 +### [**ALTA**] - EUVD-2026-39169 - GHSA-fwjq-556c-7hwm * **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA -* **BaseScore:** 8.4 3.1 -* **Regla versión:** Afecta rama v19.x +* **BaseScore:** 8.6 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') * **Justificación / Descripción:** - > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.0 before 19.0.5, 19.1 before 19.1.3, and 19.2 before 19.2.1 that under certain conditions could have a... + > GitLab has remediated an issue in GitLab EE affecting all versions from 19.1 before 19.1.1 that under certain conditions could have allowed a user to access sensitive information t... +--- -### [**ALTA**] - EUVD-2026-55984 - CVE-2026-15560 +### [**ALTA**] - EUVD-2026-39171 - GHSA-93jf-78vf-79px -* **Producto / Versión:** `Openjdk` (v`21.0.21`) | **Fuente:** ENISA -* **BaseScore:** 8.1 3.1 -* **Regla versión:** Afecta rama v21.x +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 8.0 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') * **Justificación / Descripción:** - > when EAP runs with -secmgr, the openjdk-orb's JDKBridge honours attacker-supplied CDR codebase URLs during object unmarshalling on :3528, allowing an unauthenticated attacker to lo... + > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.10 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have... +--- -### [**ALTA**] - EUVD-2026-55984 - CVE-2026-15560 +### [**MEDIA**] - EUVD-2026-39175 - CVE-2026-5309 -* **Producto / Versión:** `Openjdk` (v`1.8.0`) | **Fuente:** ENISA -* **BaseScore:** 8.1 3.1 -* **Regla versión:** Afecta rama v1.x +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 5.4 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') * **Justificación / Descripción:** - > when EAP runs with -secmgr, the openjdk-orb's JDKBridge honours attacker-supplied CDR codebase URLs during object unmarshalling on :3528, allowing an unauthenticated attacker to lo... + > GitLab has remediated an issue in GitLab EE affecting all versions from 18.6 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have all... + +--- + +### [**MEDIA**] - EUVD-2026-39170 - GHSA-9mc7-w3h9-cmmf + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 5.3 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab EE affecting all versions from 13.11 prior to 18.11.6, 19.0 prior to 19.0.3, and 19.1 prior to 19.1.1 in which incorrect authorization in D... + +--- + +### [**MEDIA**] - EUVD-2026-39177 - GHSA-36ff-xw3f-vrx8 + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 5.3 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 17.5 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have... + +--- + +### [**MEDIA**] - EUVD-2026-39172 - CVE-2026-8330 + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 4.4 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 9.3 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have a... + +--- + +### [**MEDIA**] - EUVD-2026-39173 - GHSA-8vj4-48p6-q87m + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 4.3 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 17.11 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have... + +--- + +### [**MEDIA**] - EUVD-2026-39174 - GHSA-v93g-p6q6-9wwq + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 4.3 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 13.6 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have... + +--- + +### [**MEDIA**] - EUVD-2026-39178 - GHSA-vxf7-7c9g-m3x8 + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 4.3 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 14.8 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have... + +--- + +### [**BAJA**] - EUVD-2026-39179 - CVE-2026-0934 + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 3.8 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab EE affecting all versions from 17.9 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have all... + +--- + +### [**BAJA**] - EUVD-2026-39176 - CVE-2026-3176 + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 3.1 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab EE affecting all versions from 18.6 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have all... + +--- + +### [**BAJA**] - EUVD-2026-39168 - GHSA-px7v-hx94-8wmf + +* **Producto / Versión:** `GitLab CE` (v`19.1.1`) | **Fuente:** ENISA +* **BaseScore:** 0.0 3.1 +* **Regla versión:** `product_version`: "19.1 <19.1.1" -> (Coincidencia directa con patrón '19.1 <19.1.1') +* **Justificación / Descripción:** + > GitLab has remediated an issue in GitLab CE/EE affecting all versions from 8.3 before 18.11.6, 19.0 before 19.0.3, and 19.1 before 19.1.1 that under certain conditions could have a... + +--- diff --git a/informe_vulnerabilidades.pdf b/informe_vulnerabilidades.pdf index e57f036eccb71499fe36833433c0d5453971f9ee..99bc67b95e86f3b441c2ec5b25f50f97e2a8634f 100644 GIT binary patch delta 30809 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 delta 33462 zcmZ6QQ+uFI1Ega+nOKvFZQHhO+kRqBY}>Z2i6*vfTa$gSJ=$;oKp*r~U3GWWdo);g zK3F_Ez{twR&kyI~>TG6Y2j{tdr7aVO$AQrMqA^8OPom_|e_J4^lHZo^L*u=wRp(=c z#PxKOmMqG5*}&JdMxSVBh)p;Xfo4D=pv>Zzu}FGXM2?)~p%lW&=QoPixBpUC)h8ez zOT=F(g;Nj{e747WmHb2deH_lw-JA1YL)ttg@JU#*s4pG8BESEQ^F3r#)-!;bDV{zg zKgT8s`?~luG}@Es+sA9xSz%EYl%lllbtVT%>4qf+){N~BO$7yh%>(Zlj_JAUx9aG? z-c0yTsR3c5sCN_zw_}eW&ryh5ZA38<%if4^*`R5FA0DWJ)jKkg9Y;f&Fl3zd6bm;7 zur~I2K|4SGX>j3d_Y=_j)5ksA{fhU{?n-d)iFfapIrg(``M z;Vt-jI`7}y;i2ZCA-%cAo#X7|?`mOmpk;0pi((c_fz;p)U7!djRilNQM^*dh@s10Y z!c3(L;zp^)raXLT;SDWJQ9=3cIK%wYMD$<|s@{%GWWs)WbDu4a)Uxafyw9&`$LV!A zkC36zwavp6{@TQk)W~_$%R!6X&?&MDPi;KBTUO&0L7e?s;9!d zm-T+1m$ij0Iyl1ev$Uicv`w0hM-2gETwq5G!C%@-;a2Sl0~eL(XqlpEmoRaNG+WE~ z3Es9j#Q3ujuGE`%9S;wv*_|SRg&W}KPnkuT43MLPHkyJtL`pmj=I4gahYtQ@Fo)=n z%o5$?S%YxoKT#9!O+|N~Jiw4Z>8zFsZl@ixqmY z6pKjX!*eE^Dv-dF|cYXc1uxdmeNXxpJ70zqtR&43BT3Alu%}si^ zl%JO5DrZwGv*w9hp3akXd?wB0HG$!wDW8YDwP+FFVum;{UEJtMbOkpJ5&_V_T7m}<#YMV z?N_r%%ztnZyb^TVav6pjh1q>zeLK$0#EP9Ws>GYLaZYOo*J_ptDk$eV=5uSlQcbW7 zP8xbl32q(%Uo{r6XdUYB#fv?{TRnopJeZ;`y<$|u2gMD zPDB_5SP8y~u*XGF_}goQT=Tu_up^n2;*#Q3J6=K(szuwo-b`(a-%A-2OTZVV%glZ) zwM8a`sh6xdZW5r}*$UiTSNQK1djut2ZXA$)fm8G-WFL~k$R0a@CQIKW3n77JV}X`D zcBYQ+Y)0#SlORg&eJxwN6u-~OzQ+b8E<|_%Ps`hrl27Y`R9C@iU}O>uXkpWYe2P6; z=7~)a-@msie+OE#NGARu9bbWv;?A*iwWx=su$mw|cH$j4y@!m2`S6ZV8-2lH{h7rY zrsu{B8sr`|{!jL;B)-4X)V}#b`Sg$Ww8GD_kx_D%;g8B*Xhu>wchOR5mp?MQ5w$vV zzz=*JF|(T3Epljryhi1GW!snDU!YMcC zx^2RHdzid9R-;AcrG3ej1fh31wbE2B&)hxJPChoR12@gWfpIaV6ieP4Sj8!kZPzwvcH+jXv^A%p|+ zh@Jf0`sy9UakP#?_CsBm(9w`}5RY{&e#Fv_^B{p%_DJ}dEaYhG2#Dtun`m_GFKSxH zzYG4grqX)2kk%e;eNR5WDjqBy;C|PSqQo&VSIwCya^pwqTvKPLnvTg7_afmZ;x`x( za>RZx0e@hhkFT^CqVvm8P?;cb6GEoo_UM>B1e;H1IKSGIh^DSPC%K6bNQj{lm zVPds1Ncmvc3g^$17x3_?Q^$xKys!hS)jXH&3H4x$o9pG^Y2J4p95=z)$GPX2^IB02 z`iIN;kY(H69U3eL*R>4&9*Z4k7Lp^uCb^OIXF3a4PhUo3jnQ0zkz1+dP=52Y5Y^BD|;^dIXk5AELG;BrVUuG-6>LwaZOjvF`%(^T$Ov782?#+lKaG? z`Qs=cawyZyGyMAK2eU&&p;LaLojQN)A#tMLSfPNLk25=Yr^)+N5hTsa!uIeA*RXHg zA(fWdnW((JPKb)!F*YXZq=gl`6Qj&T5ufQ9ub{e=2ej5yT8ovUbIkoz*Rm{=BxZ_b zGfNz4Vs{kUeDh`C-C^B!OE1KnYY$pY) zF!94z0)~)kjv`$-7!aQPN}(qxDN+o9s-xs3chO^p)~?C|NR_8m!rS9ey(FAP&3J#G z&AQd75N8}I*bvmoVKk3C7$DV=`r6wGt93`ohd|Lw^QUxfB_}#vtRQKW z6?9q9TWF&of|Gos`teUvS&Hd8JB^!0n=p=_fm$~vQjAGA+K6AqIfvoC?qsVt^Q%aD za5uvmN7uXrig3@WW0Ab_15|aknm;twG5XZT%P45Px*lK|9N(4y{XuHT#0o=x=m1}& zGj5dhL0C3Zzq;?4+7zFx4q7vEa0)bLB}pYfSxjGb0lhblCyh-()TxcnxLaj77r%z) z0gThGenHn)gK#h$2u$#IUX~q2g^p%!7VQpjIHfGXs8jVqX_AEzz02O1c$?o;^rPoM zW1sVBMK4juV5aJy7rE!j(?}-TFP@3G<$?6L7lk&bd0VO8Kl8jREaRCyI*NNJJD{he ze%bSouL;`i@2y=Gi!+T|4Uqc3D5n=U0M##F6t~3buC+%rf1@XUm<_qJQZA3>dm97qt%uR?>VOIgX2O z9H41b(CL*Z^Ac@Hu>4S9?wu-B{*}H4?I)9AT`7EJzJ+~Zr98>M>a@*@gtWI<>Zuz971w7o&EQbS+ zjFqcy;4QU9h8pcl&lp+Z<|!3gV4@Navy-i>8Xt^w?^3@j#}o>-+4QmKT29#H?!w)B z-p_VM<^HxJKMHutjCYjx|7KQZaQhZo;4vpXNpK&e{Pm>l5S5_IIYvN~Ov*#?Fa5vAU@*UhoIwq-Y)WnE$h<7i_q4b=(6wA*=qjHAL-H9~#&2I&!($V2 z&rlppa`taHp7zj7sk2SmG8sMQZ_!=Tc$P3qT-Y^~J&VAL%Z=HuBG9j79tVa;7f)an zItQJ1c4})MzOK};?Ptqra05^QqB`=-Ja>k3_FchiCGQ6vKXxo34$ zvbp~TRSl^-I@U`U@|tg1Vg&Sa0MFdsZz{Rz76dQvURh{YP$y|5lkD7?K0YsidTa;C z12X)5x2^Z`mvpzwMIZU|tUzMK`>g06@yu_Aq%5@I88VI^?gC(nQ=0e&C~i;D88S9|lvEm09X9+qmIsSGXHT0&{(CC^TjxdX@KB-PI9rTX2vjueheqq+Hiq~+?< zm3-v-;3!wavz}y;QXk!P*er@ozlbzjVm3w%eO&dt;z3JKIM7%^#10O*8F37k` zrDg2eaA*%>8Q1?qCzkF(s_Jhyl(T>B+3B=^)Z@Y(iso~nBTA2WVpGsbwkx7fDKRpB zomKtVkr2D{slR6r!LpRn(=aA*Awfs+Pft)qRJ=1f$fN!ten3rlPw%utP14jgTsgTqYbDl=Go%R0OeXp1)&@eZB%5BUH4btQfl3!)LO? z6I%S|UJ`LCO*B6|2rY_|x!d=uXGLD;C-cz6mA|GR2?&Z5A$1+1qO(A~E<+oG^*e56 zxi+XLdNu4Q`0-=a^#*`W7JR%CZkl z$OPi8^TW5CtQZKX9ewoTUhi$mQc%+vLhg6xo@t3o>vtPC~#H+tFszJrF$-eikE;)ds9oar{4!_jL z3gFjm=U0Y+n?|H$w)bdyixrC4`a$A5Lv9OtBv|0G=^%fpvf2MIf zwsXiE5h>arapxgJc<3 z^AQYV+WMk*CvuWw4HVmWfN_Q=P8ne9eK~$7e48!L){Mysj zwe+4ZM$~*7jOj0I-6;Q@f(RX>U(-C}S9|5LE)C2mCp zGopn4_k+@P*NPHoal#U{Y!No<(y{&kS^lk8K>l+*y7$Xk{&WNiqjxGJDZ}*B*Wl8O zgZbN1Rb}qax;&gnuy=acYKnc%<6uN&Ee^pNu&}cJ@E}stcad9qx!{yWwB3h9v9!Yc zJ5|RGYZ933K;S}O6!!MFHcmM3Q{oFxc<-_OA)^w<^v%kJT;$a_B3@3@GwmZF9)ETi zLr3pr=202G>~Ss?OMBZmwH{htqZ9DW45#mcuOjB3_pMvx>kO%8Ao)gQSVRP%!_vxX( z`?$mln}shwhnffXfyO;iKe#LTv571T=FQzl3+{l2Bp2G_LAS))07n@JGziVNiSNc=9Yfet3v+5KgtZUAA5PzPOUw z^h@>;XzY_+D8u=kBZhI%%-iuHCC^dww(tZqoIA{3DGZ_G)Le zX7A1&Hm;EMFJDS72Bj2Z8W2EwEQy@kNOy{=8VFaNL`+GEhG7coEo=%`i3*#@bj*y> zO^Me12RdH37|cpEaaYBez*m}jwhU^HBJyv!phZ6GeKPSzGCz^fqg2og#u~lVI~SU7 zDH#m^k4XLUfXotwd^i`<*W}sBU9lx%&xBKRCbvy_PO|h)Rl8tr%i~Jii)~ND#e5Nl8sCk*xSfeRS$B5v{ueTAqS2Qvxc+Kb6qsiJO!_|leLg(Z0DY=CzYVrG-=5Xp z(&Ao(ap&663wLgU(P7`>(_Su4>BFxVqo26ZjG0PWR_1m_7Fy5Zt~Wj}+Z?hTx|%%S z|4iH#cOwp^b+y}LI5n?@T#z0v`5n}XsPP!MSzy&1oHe0d7{A++tgwCO=)^Q1RQ#*{ z#HaUA@x(84MyG@~1q7vnnjnfD#peTUq1H*110BnL?#Z`69tENuUnQgk!5s!B4`)CL zMgJ6v)(%1-LHt9K*epu=piZowZw+5)jpka(7s0I+$1P-qAi)(;sX<&xF60&^FIzf< z1N$ZGLCnca$|*h9gb|AnNvN4aD0%7&hfIZ!gN9EdlgJ&-8R5n zWW6kC!(A}bc6)KOLFY#~lA7r9?T0U`B+no6jhG9y#=o zI(IbT^L$y!3+)*97uNJxD^jHZk?*g5b3R(-ctR7Nx`)x}iEh=a{>`GL#-Kp9no7Dy z?`E`B$l4m`_L*~aB=|iI_d!nkR;*(^*Z$3|z1L@N->E$v-`EtzFMXOXSAhQquQ?lQ zvUewr;lDvM{jGP!yj<(V~&HbxN}FQki+5FxUv?4WzIF-(0^Jc!Jj z4p)*zmKM)Y?x7+pDfG`56z}O7m+gyp`$zQp1}y<4J{t4i;+n}wL&{3e>u4fa?46yo z0KCqP9+Tz;6n?jKpqwn=XxD8ol9~ z(mL%O9=HnDYTDwn;1M4cujB{`srvf-6`iQHK?WU2i@1IF_5stGN$B;D(59llEGhTZg|f)9$G`t`)g;S=+$)qv^tK%9eHF z-vsf|Q}44M&j;c~*_FdipKJdr=m<3)r=<}iG3uqLmEG^D+m+sZNhmCAjHvZwQ;eC= zOUdXBdPBXHxTp|Uxl9(UE3sg$*1|XZd3;P!s2CBl%ItmgSsl=nM>5+o0Q*YJf`d=o zPInT#*b3v;Znbu}fpu1~u0H;6$wga4{VfRRY0XO@&MWA&w-kkS@{$x~q{m7@qV*35 zCgh#ISP4(VXo79t4pl-f6rIxXeU}%G)2NOaT)&)9!DBzfzcM33s}XJ4!{y+DB1#2cvdLUH;N=W+kZS zS>(R~HJkBB*Ao=z0;4@}p83?Z2AwtU{)1SaBs*+l@a47P>Gz4Bmg&wn11z9jgL+55 zm*BeSku-G`R{MH{Qu*-F z^_iTBAc=RsVnTp!JU$7_41T`44cI6LwXgYGxZ9xgugt>IR(3~3tDLRLSm#R*gg4cL69)PKR(p~`+8QhEi1unlo5_j9v5kWMWW>ea>j5{+v>1jBM1O>)SkrS% z9Ad8sZ=}ly=Ef+9`^USlet=~)gcMP4RTkT@3VATWA(YI>e`b2b|n08?^Wp=WuEw;DE7*8r7Sig zHJN--Q>L2)HF9R_Vk^dqlVNJ;2jr>1Oe?ROlm${`j@z#z;_U;Ro={;QZ2Ztq>CyF6Z8^AItAp7qx>(A3H$n{@3{8|;MPfY4A(U}u zXZ+a@jZs02KY7%u791lf&8h<8n4BmpDoJT51mYYV_*GUX_(TuNI!SzN3HMrohwi$5 z{aK5prRGZckIN`Y&D`^U+c__iE7`Y~I`xd1;+v_F^Ap%Oo8a2?Y)NO3jb;0iR?JNd zE*6r_>RItq2YFrmik?C=sYd7wIGXr4%#OYi{G^W7;`izUQkzxb>3BJObiry$3PR3g)YC$t=#aTNQ{iZXa zLj<3ZsT<*Wj=*=^)=khw_23cy@;=ilVcl4j5jG*X7_@<@9@o#1Wdpd$18JpkdeCLY zVU2EalSw4=O< zl~rf$(C7Li<=#+yB^Znjg;xKCLdg!Z;MK0c*ZTL+LoZ3GWO%V8k zqMq`$UwE8a0IWQ)3P$P95dUaEyvB0rb!pvvWBel8Zp=DJqBHRPE$aPmEW!MzUs@qU zFe=NVa-pRjB2s=(;P3-3_(sm_O~SB&xU80(EY4<%DD#fH=V$5V{4_5Qev3x7dIPJqXljjD5D6j!G#ZB(B% zH`_>^+#yrG9++6DrWc%%0^5XXFE=?MwM!%Ip?0UkJ>}Hz{IMXj6x4;YU!j-X%0_d z?(9{rR~rxIzOuI`qAtfQo=K<9u?N^^w9Qsb3%+zcM!ujpO*)poYBy88s$mXd7`Oht zFn$42EeVlouzuW+xBrCz-a86A*B{R7K2`tU`PdFatwUvoKaK%c&`EKo8*y}^k@ix0 zX_&*WeZS?ud;9F>S8F5~7DV)XrQ8@DJ2MO&M8s*@pA$zMQ2~e$-|Tqk3!Bnjk>98eaf0AgvhV6-%+#$B8%uUcUtHlMc7g z>xGoc+e)P@FPJ_^YmTb8gD*lciF6lE6RYa(C=qLmSdK;wK9{&ud96iJ620=LTqaCE zgg(K)AeB3VS`|ArF|xJno{%N1(2{=C2D#^>x^};CRxJv0o+Gwbm_T=o=2u!h<0bGb z|D;WL46hYVZkL$jRc2iJlzO~6zDJmw9IPczXH80Qf)kD-AoZR!$sX1YM?j>RM9bYcpA~ zNqv3ba=n@v-<#%enNY25>d?`o>m8OxHNrKIe35RpfI$G73yq0Z%j=4ddAoapE_lkR zzCJH+`M9C04f>MeB$!Vg}!4xCe<1(wY~Q#xKBcN9MF9*?s<`xC6+gLX%*> zviy7vmS6Rq=4bwV)zlJWm2P&|Nlbm2fQelnq?7IOA{F^VEBztb#d0^A=$*G!YUsUt z_!Or);}qxPiMnGZCVhEx6O<2x#X3slx;3$(g?KZXNXHfSdl&o!8R@L#7p$^}xL1;> zyR_uoTY{6m<^d)c5$m17fi_cjW&9StZV62yjJlRZri^o7QEib zzax3Z z9A?>8vl1>&w5E>+d;#4CdWzSNXbXs557DAaDH7%TO{KeJJZ}&=^anLL2Ci8hztBhC z@5qcmJ1#otR#Er-FJ3~fBeAr>GUpvAGS3$TWVDN&ae@n>!rfZQ9!hX~3Nt%x42h=25Ay#Fa_3IqO0Uy4W=f8=mQ3cJR( z5;x5*MkDom!6ndtb{CUUOtQ9}(o-K8auZ)J`7C=&OnO+_Xg!U+`T`E?4rxvnXiS$Wo zz&nb}_6voBIt3#W*WeS+W6`{U?$ zf2|-@bWU#n?w_D?aH8b;!cv1GPbse#WVla?WOEJ0^bilo5qt5V)(?5$d#~l`^=H4-TQ;-l7XI_t0WdgcXq-i`-FDH)3CRbvkaz-eT zQJt2gI}Zqy+(kpKOfSn48uF;7mBjHzPDHtJ%h3M_Dk*wmg*mr%T^m9x>sY|p_5RT# zm6*m+)bLUpzIHSO7(!W*SZZP3kM~MDO0EV zv6T#ZL^&c1n zG)lJ-N{|rkjqq)5884o1o+{k8l-bGKN9D#}jR?;hwy&WI{-*-Dv1fMt-uhY;+~PsR4}Htk`1&I* zXmxmK_~&aowFZlF6QQT=UeE%XQGPub>0C7x#Qe~NjLgR?|Q?p}3wn~chF zJzIa5cRLE_voci>k=t{~DL4t~aM>zEPnWI760n*XfcyRDshW^e@d}Z1Jp`D)^;~%i zN(+FJ^I@u;Em$sJIX#tx+^!w|6|>my&9xhNPsC?6QnI2cY&HBL`!sW0BG_(r8Pt+8 zhgEpkUAJFeN_f|OKN;v9#wTwL#wWLS64JI22xHBvBKosZV88y}RVT3yl*9bqVYLQp zebP{4%p3rZu#O+_zJ1LsHXW-TbhC10P&Ky51kzs6FJ>u~%h3Q!iYkso;D6 zE4Xvlfzm6ST%-#1cD;6qQ!z^MQ_!>Wo6@*%hcuah*wb%Da7(~6s{J#&`D^nUO;rUT z6%2ipRZ7fKnH^8?(!iuc{KXM3KT)zF3KJ!3?pe>C?J_~muC{13k1{c}N^Yo<9ivsQ zmW^sP46P+=>$u?Hv!i~0}q)FmRQKjL2-i{c%c4LQu87VmJ7?mXS86r z8e*74H)U#px4yGU;~dQ%glE>RAruaXx7u`Nh&)fazre{u} zNr0+w$9}n8xJ85HnZb<0sE%{WD}kE)tzpE&Fuyyyq=K54)?~-f#!*&Jt6=MLpmw_uEm<`b^(rrFz{PsF@GgMT|Kap z8Fl1N&zT!%hGc6`%)aLzu=<7Pqi&NzoqbIEA`3N(#CUJG9^R_X z(Atx{eIm>q%IZC&woz{l7&AOzc6YouGzNGOUO6n>x9j6*Y5GwTHX2g1ZYfe>bD|AvYf#1uugkzWN`8=i$?@0xjNzDoN2` z5T7dsAxm`(WY^-sF2C76p1vQtU|R*Me+uzs6V0E_j8K%7lEY{H(%otmU3`5GfBBny zqJDD3j_@kh;^B^GcBuwj9(|{{TjT^Gdi;CP+m49Xn5*XnBXpv)K&$tp@EOK z>@6ElL~&s;-Ilq8b*&3tTjSPKkELh0nI&^^VS162vR88Vmsf{VYW2GL23=5@7D+-9 z=n73ACzcQx#%O$vH&NbprzP8Wp$}ZQRWC_ zOpSApkeDvN-l00@ISm-`AM}K>?Hz!3Vui-FefBj(tJi4@xR1<364g1sdFqO~h9r47 zrYEJ*4sJ0J`)(TK`}rBEIcnznfROvnts2@=J`=Lz|!&(;1G#uLeIGKxk3mM}_MZX%XPZNa`hN;i5;4>osYSqQ~eX zprWirfe6SpSOc2+ADGbV#!4i@$yNuJEMuiwwhZo=W6?k}VuN1*!&se6stoXq$~3IT z(?(e3jq#kl*;H_Hrtjzd_S|XpUGUY`gYFGn&F&P`#>wPW`C&a>opSUVnD^D;r}6lU z$C9Ft&;N7(nvoonyg>xHiNC4#I++r5Hhjt-2zG|%D>Gd@X|}(891!T$nUpnYp5k+l zRxv0G7cmY`M)2Zf^|Yk1bp#kGz>)0tUI~;)nm$12!!!x?0&vFQ=NH$UT(hNd z@u{si9=wC zALUm1`Ej4ZJCsS&1a&;&J$BXLOlYB_iSXIDmv=&PH5}6aK=4nsML_8O4kx%68Rs8BT zFwI#fSgqqJBtM!6L-ni$y1ylHM7Vv-7u$&nXy`Hhrwft)tLLuLA^myUyjcka7M4LR z%$bmmr@ZopK@;5EkeZTU=cDt}M$m({Epk&&SRtk;9mL351l zkMnr?O;#7|;CHFkswO;5O~e(H;;W=qCmBuXf60TM4T!lM!oUst*vXX)PkwDM?_k;> z2od^QZ0yyoojib7Bj5rQ22Y&uc@v1phR-BHX3Y>^?AyvDNWAUNxU;w`j2Knl3{Tk`|1}Fy~#zT@3 zgOxs-B3ac!inY1!Y@?`y_rW2!BXzca+m-4yS&YK3ivndRa>arYrIw{5G9Uh|jeFE{ z4nm`HhVySz(&k`QzUCPdh{*vL>`z_Sn-1*S6M|y5JvAYry*(izwLLdCH8nScPP30R z8_e!wF<=mJM$EB72|=%AesZrSx0mT>K>^uMIk8YJFDP*i9?z5ucb*dEBB?TEmIamv zhn=vH00Z*fDH3^z44<*w!H_cJ2l7>_&G+5IMRut29}Ng= zjdYG>n=${1pobwF(M~PLt|Ze9>l}$mcceFL!PR8rItSk-0`eStVt`jdvKfAp4@n;D z5+K}!ZOh!XOxh-8=Mf5Kl?@sV72_=OV#R%A=9(Zvi9`6epovb4m?WzP@!Obua50UG zETzAJ?E+P2DwA|TG1f!R6H#--roT7d6^(v>~Rn#a)jW3pUou7s>Ah05AI{YEri z)ZuP(0e=9B5b{b6qdE=yDSv-FOro5q5x^6W^(^xzf`mPFgo&D5Epd#;Ad}jK*4jyb zo}al#xgrZGmDabpHbHA4sN+OZ8yopV;?!9$<|MT-DWuuIPrYgT=zd!rcR$}NZbIMA zV*_-5+goh7kH)X!n@6?i;IS^5k+L1GkoAdtmcZ`Qa?SAoZFk0Povq z=ldzG7aa5s+Wo4oQY8;3c9~pm17!p!=L`Ui;G6}LKAs<`V@kj+3h3T1d|uk*#(|vN zoHm{z*;_vJwW;p`ha_zy?oW+$(qi=;Px$89njLU8^vNrdKW-+1LcieIULx`y^tlYZ z=WFMtRMW|R3Y@wJ_CUlkcMzAR18xB)pkoL4+4pj>N)UD%MB7**O&xK~Yh6YMV+-s^ zMkq`?yX>7(m#P6|!Uh3oe7)Z=idPmLlE%I3v%`Z71tB7Q`2=@cb4AckV#F;GQnGPU zFhwL$Mb_t06IIwW6SK#6r%3H1Fgs_juTGA3#Y#j+o}W^tC(RU!>r&4*z@$R}PjUUq zR2j_1G3Lp|P`@06l|})rgJeyaQJ&2XmT3jEidG{ulq#{@2&sf!jJ9wRd-_T2Wz>~z z6h8q-)FuZrZ1HfzDK;v&GF+3}do@Do>a6d(&3mzxge;QIWzEC7@LSN*-t}*dc8^n} zb+4_8hXz_Mhg|Wx73|Y608K?rt=dYX+u726QW9{pmg_O=6#=ekKpB`gf zWo4vWAe-uF`=kx^h?s_6%d8^oR5*=@5M;7cGn+Lp5+VLnMU_)G z+%l(~*T$;*dhii>`sIA=FyYek9k%exsu@mBBq^T9Ib3DdwEcQC=lsD(%WJ@20XzrZ zIZE?Xw%OEFzac%6mwK<$C7e2%=4ZKV^?#hw2QgUHrzwO6#~(&SMJHAL66LJs-OfU) z%-Y^{arD?O7R~PruuaG&*bZK&>-DM%2L6sVRv&xs@=}J+tqw=3KXIV2XB*91)ty|l z*M(P~GqM-Vns~Pmb$(KXDyOBg2-4A3GkZkVsN1%UwLz*fePL%aOPxRDfs03c#1&7- zEtM=bhDVEjm}sQIX+|-cM~V5qW+Z1KBUw$#18 zSxKy;#C+@|Iuh9PO-Bnmkm`W#P+0I@Fx`PhssN*raFh5k-D?d{~zqqH3Ck0V# zK{@UXOJL>!4{D-Ge;t!5_DQLC-UP)bk3oAF@D#-~7jVh)lNk3L(mvOeNZ&^pApBcz zWb&;|4Yoiq2a?K9Yh*&?NeqYnkz*`zi?|Y=w zm6UbWK1Z6c-D1JMoyz@HzVAfZ^|rJrNR+|YMS<4XcH`%uBrkZT`e%ABT`~4sGTGzGqah}JvIcWVVeWe|? zqg*oCwC`_C+tl2IfHSHz2DMjy*t*>mvS>-Bgn^h$E3<5E=*l3O{XrECtL2g^8qD4U z2z|1_{gyXzz20<-D_-I$2=CI7nyXP+*% zX?T_R(<^g*JgGnx^GXo+)Z9)O{T7G(rBQz~^7f}5C+m^&v5C`6I7N8w)UMh#h91#W z68y3MZ5=)AiJ{^4>%UlALp&UNq`Avd;Dtlnmb9I`A?bc>Tl<5M*r8?Uem_zutu2&)9{aVUqnyS%rPlf3$AnNrZK|LfWDHEv_C zcg3Zl0&DtbWEYPph_#s6NWU=Fa6j=L8n+PD-=)at9*Ci>rp5a;GIJU zbzEIfRaKTYcw=6Mz~CEzTY?M`-m}|NRS&eJ_)AHy8fZW=QN)YKP&F9H<<3>AEY~3D z_}$oDntQS58nWm!*-wKTE!~c@db-f~pg!^l@69t+if;c0t~S@{q5uL#{=H_&`Y_Zq z-TDp#R$bk<=y**m0enUZ#q4ksIMgW#=d3?`#dUr~@OPEYmP5cK%qFsbC0IOkcgJ(j zRc3M`9WO3=kzxA9VaJ-N^|Gl+$*zaW)DZXI+69)UFnjHi^eJc{KLbipG*10h9)zfQ zH78v;k?V^|i9S_3SjQ=WLT>odjICMQUI6`@DX8o1sVO>?|JQB5+$irdFi@nM@zC-T z`od5OJ)IZ=rXWun9n{HKApAw|fbpgY5qr{AhE4ke!j9Nty)B&RslkX9fuPd(m68E8 z^}D$ros}*5-YQsdG=UTa(bZ9J(_Q~=V|zLu*0-s70^kAAnM7kt;r>(F|78Z6zh*@iZ5 z=k5xqSA-k1zp^z5gj{CH75w#O$;+>qms~t84&aqh>5x<#(yVIEvZ|`S*aguNH7m2` zz?JovUo8%d?9f%<)Q4%D)c(Rz0gvN1{S$qU&zIeYFY!K*yD#_$=zu=PcK-qp$8hnk6M|rh zC>Oi#T*~B}2|Jd82oYE)Za8J1gcB|SBGq8-RD&oDt;Dq=u@IihZog;-vXt+NGjUHF z%CYWg%)pRR!$gDtA=W~x9Nc^FH^HOirzB}&LjA(7xsrk|PX zvRc5S_LatJ3)EAA{q);^bU|7BtTvNL4b-Xmy%xtO0 zGdLi?&kqECy;;s3wTVM>UVNfJ@IOyF9E32tmK(6<#9-5y4-&?mqn8g_`YV$6o*caxpCG%x?VS_F86F3ii0yf` zZswi7hR{j1L-`S>p&ea|N;6L%8j}HXQGD@Js{p#VE!Rcy8W=;woJ- zC8OjKo&{T@jQGLX5&`(RAJjg=x$FK;BR?;lSpMh82(#i^hXRRL8%D#kPXzpe?c)-i zOf$eLpkE1g-iY&bJJw{ynxtY?*CtH+{zHnA6tzMlg_TTz?z-PHfqyn9fb&)P1JRt2 z$88p0@zZ^aguOmJBCauxFRDK3m9|;sttu)%6}=JG%RXqd6xrI0%MAlB;7tGz^s=sn zsDiE0>K1NokPqoo;`W+=QSt~! z@LJgoq-P8FrJ4o{gMgG)TxNz(?O`!~SV=(_8ft>|G+}hK*EZxlRavf$ZmY;oJi>nv z4F0;6)J_zs2d_T+Q<`GfCOfGWmd!ZsoBPzxk= zw$LZtCznPKSQaKCpbh%UP>gY%kH7sac?5NL zm=ToQI>5Cut#rKDJl`~Y{L39g@LE!PUu{P?cZ!orNz0M~SGQ(Q&vCr^)26zhR`6s` z@9GD%<#Lo@$4C66)37;9K9ZJ9J|oc0*PSEs$>VFDxO(Qg)Ut@}*pD1*H8MjlSqUi% zt`EXGsog$URsLUYcu0N3lh6SBbe=a7Yrx?y0k=HIF|;A<0X=fn#8&mWWW{GwBjn_A zLxN$e(a2|RYswTqv!z@kokPLHI}1ZZnLJ<#2g{zyM5K!JXEmD{n{fWTQxtG}$oTHI z&@h@iIwu(ru7cxk{*k~s8df}aXf>qb0(BAeSy~SEOn$=FdEV`^<$9rqAO|<261!ac zT%d3=1VUJ>zzKu4=5t_J1FfhQJOm+`nwOGO*I1qE9k9*rlEC16%Yamu*z{P~GBJC2 zIfg&-(CG|cG2N5rTK1mv$q8i9C|k288RWSYJeFkY+UwvJFM{e@XXd{5i)F##p@o0n zdOv@J5bLhre)`M32iy}w2$6J#T|o#0V{Nv1+@4PU8n37W#yNZbWZcus4#cK?a(5ouqUjx_{h= zCML!5fL*1iww>n-QVSwzy2w{@t#vJ{1{s#UQGM{4__y##+epu743$$+RN_1w_U7C+ zLnJ`eG}bbcF)7XV5gT$JW`b$|N04_!+3TW0@Oe~{VNcu!2-Lp&PhLMPteeg6z$oUW zZXF2^7*b!2x%opNU8qs3{37{v`g?ht~72y+MNy`<9xy*D?r@p}!c0stGXC zESP!45UGpzPmA=eYzj+RY2hQ|!H? zLAl%rAaz?>AE^zHXJrN|5|?a_!zR6BEz2n96QgC`|&j0xw)sSSUb^0UO9 zw!}!f-q3@XPGqm^+8+%dUE5B!S~i!q$Ma)|SUexM^hZv4>$bE#efid=2@W^lvrbpo z?jj@4TMFy!_Be$!GDZ}W(draS)z~Yu$Ym1|Wix`4I;W$BgoCjmJN``5@mx=GmN}33 zsjEqQE4Kq(|9}wUG*MKym#=rj+NPxJc!vRr-tPe(qVLb!>%CuhkiDS1@bo+k%*!0s zZThn3swCy}Xyf;m+&Lhb@a6fc%B;6YF2XM#x5;{O;C?cu{?BU*3_eVp+WsP zfsbrKVX+`V6X7F!zdOS2^);k|BN$?!hx8f-8nS;t5}KqTlFPH&4b(gck`7Ofx%#h^ zVCWs?waFU(8QzM}1QO(e=WlxJ=m?rkEIuVAA(tf5%l$Tp^^MOnhJvi2B9$QmX3)6T zBcsc5cVJ39D2EECERtR6P~7~)-o!Ow`GPX5bIK_t*v?p>j=o{5_77wV zoTu0iOrnFzWk@*Q3)L{zf`HILl%c~WH)}{Y5lM$U5~7{JHWxZMq-J=}Un&KWN5rni zdgy<(-+tt5eTc5xn-~R9CR{yj3b7w|7SWW_4x1cQFe0;uD)n*Tp4Z6R%u!2BkvP8j6&iz8|(ocPKd$!Q&B_Y4l7U!9f?N z3FKu6%nWdmf)g(NYwMP&t^iMsJ#(7}hYTQ`k5qPO=O&C=&>{w|&#S3y^szJ$D52vh zja0XQRjdfa|E>NAUF0nix_OcJivp=&lyll;YBA2u0;`B^&@H zGeU8URQvG~OAR&^IB&)bXSY#}%@mx?)CQ%IR4C-bS zbpC$8H#*Yi8EteN69W{;6x9guB`K_ztRtsjN>E>tP?cuYEX|acrwcB=OXlZU_vpwk zD;QPQ@O-=Zz2;rAx-zjqWs7wf$wsy1HKeem#K+OWJX>E0dY62j>@dNx?_6)?mZ_SD z!7@<(!*#>3gsOBWvjZ-Z!T10tg%7>1OffE+Kgl=PEGLLPr$!Bgiu|fiWKrk8{qqeA67bFhKN_ZR{uQ$^7#UjWn5qHiDvFyg@2z?{Bl!t% z+^^W%NcOl9Y1e4a#H@ESI#FG=j6Ap^RJVf=<&`rAKjkbUTxdL**F`#5#pCLXoOA?q z&_Q51m;bs+vBnVb<3j-qz>pi*o)bA=uiSMGY2}nmvx4Nw=|rt5c~K>DmLZBjob7HowpE%1Rqs8TdEv95V~d+fiC-19n3Ge%&Z?-(AmmrU8vKBeURzD}BChW0NYkg+s+ zcp5~*r<#}KatVke#_tbh7jZ;jF41aye0q<4HB5D#rvLqhA?M4c=LJQ={t(IgE%@$h zj_D#la>#CjSg->y$6mbg9gY+l1c^)mtf#f%9?a?6;k7?1!fH+YkzF0%rL`|L$tmV+Gxewz54+7%jK;iGPJr#mu4iUF}m;Xa_plJFaOYH z_A+*hHqk;prJ)pasUVbUn6>YqxK1nQBNq8*jF9M6e zYKBW8ueABt|0EFL$5i)s*+8;(rqQ@nvAoyH(a~nv@~rW}$In7D%rz2*a&WLD3+v(oJgi**(+%7H1@EiA+;Oe@>r$Y;%i>OvWL#0y zOIljg#4FO`E+ZtcOL{;qnt5D)Oqw-$Mn0gg5Q64Tn#5;rh@@QEwo;WY#fLcvO594L zISOS{_NQE_E_=}^SZfyjOxwy%a(YC!!1LGD_0EOa_2Wm+_cLJds~CnX1WXzJ2X%1` zt3XpN@NSIb4f=((Qgb(+&eswMv+ooV60$E6J2nbuj2Qsz}He-5jyj>fTRu7t!w@5AOv)`;NZpFZ$v`vXG*u z-~Pe&3dQ2X1R+3CbpcbS9b()uvHud3AF*g8YAlh|VU1z#+z)p2k!DjAtl0zT#E^s( z3U|;6uVWeiV4F~7VS<8r^jvC~gK(>l*tU709yF9Jm=qQ7+Tpk<=^ke>bj8722YYaT zfM?)(+be#$$iXe_o3IbLzbP%=4waL{_~u-aX|Str)g3rw^THQ|yZo#mzRI5ayC&=( zS}s-%{lticZrn_GxzD#b9$pdI6);n%H4ka!7h#FE7Cl=i{z0U?$vG7IAbf4!UQZ@q z#-iAVcnbT0psWYYzikx^qErY*-AkGmI?pwS)$UP9m4Ls2uuj?c4gElGBcU~4JYep| z)f`{67yyJ98HGY$NvsAgfbJ_6Vy)yt*>ui3biqFUsE=p>)ig-)2^|-H)JXs-v}u+) zPbD&c3$Uzzz?~w&C_h^Xu}v0%D{K3Ff#lbqmiTM*&8sfaBi19wxHoOm*q)^)c?tGo za^CM$p;8MyZlh(qLSHR9d-(W6ck~EdGkWqC)D6J3(oF6Z6GBb6+(#pOs8J?Ol`SQ4 zWr(@lfA%=8V=3YqOD}j1hlu(c5lRkiu@X6as`9{nkpq$?GN#ZN*oj}8>_Lsq3$lt~ z4Sfdkriafh*N%RPYU4~-(2ca=7Cfp1P2{|Q*^Da$-=63pa3|Xh6I%SY8Bc~BOtP}^ zHUUU5X(48vHKgxtBzKlQuc)(Ing~~ZEiAC;cpr(q8$Q6X9w)WFAWbUbBQGO2{3sib zR#W|(%9PgWoKh-GVXI>R5}X=cIPSxYaF_-rINDB>q`J5I=OaN+jmnYBK`F0g`!s_C z(#}ANZ;1B{Ho}WR)(bR}zC95toVcIY8XXX~eXG3pQ%k({-F@weVOA@mp_ot6rYiDh z!d?8v-Y7);djCr_O^!u{V;DyL4xb0t93wS%2o@(+lz6FlJ=v#IX6D<`ORQAtIG`KE zx$9*}4+X#qt5D6+P*pym|_ z>9FQujREFXxCWH;Z1nJJ(N7260|t#+TXdJp7t2@6m&?~27l_;uNC&|KA}-4O)Pzd} zOGHbAOT_F12;6aThlc~sE_(cogup7nD$y$8Dlr!UGW7=~Gc8@CydEXPBK;!cBEurv z$ga56mTDKqt{?*)8|x3fY@IK5w@hQV7}tGiUWN@05dt4#?)?^TtL&vH-e3g!et!$&chf|D2# zd`tg^zz85J{R55z*3`EIo+o#}x3Eb@5;72;2%}H3sS1D7BuPfaMN+7ksrw+4^c*B+t;*mgJuzCiIe0z`B~s z3(q|FFE&T1sH~gUJ@;$mQQgWAN7`k)%6iXm;$~X0uWUO0rjB6tHtP3*%3ZMeAQNyq z;gxT+2tc&?G;k`O1q0rEchfZ1nI?wc7wC#92u)q0%zsj0qO?jL#(bc$nf z&|Zrm|IBh~*(C!g|LFfZ9bMJzYASk4Uw%g>_IG=}S`k1NXecSKdzJXtsl6eIM)`4` zXbAB8Z&k0id0w>l0=C~9P}hGV(c>rXLcjG!(HMsoDfpi+x>X-AK-J3eIBk z7jWTFIrb}KPWznOhNWVnk>^LHVq|{Yl19Sf2J|BP$AYY}FEWAsn}+z1$%?p**%U5*^)e{e7eK*>L-rw$9+b`?^+VvoUd;ya16z zjWpew;Ll(VMwv)%q7VmE3)B_62cfQG|Q9Wd9c~O5{6N@ zEr}M?lNf|I48SE>L4zYkZN5vCMIokLI8<^gx;&!a$tl?2J~^C|OF^YrPVDsgl-&D? z8lAr=G#6is3{NPP?{#oG3p`B~2HH!hQSONom>NbRYJJ21JM%a%`&q#i_^Lu@ln0k# zs+`5cd4hfFWJU%1Cb4I1THX`vHXLRSRaBW3qdjJw3D7D+T1&!_B%ux_;o@Q@h9xhr z<#X!i=-#~uJpAy({kzxxi-;-nm(l*2TDc;V|3sF6HQH5Q>{@6irGn4BB3sA@{=@16 z!+kD4l#7cq9m{wfM2?&7i+2ZaSyRt!Bd*OqHz-Djs;va;J%^s#{F({%p#7_O>Q zfl!M7jY?Hf{BA(qI;^nh{E2Xx73yem<*7$(BA?kC1$92Z_18&^Q|m6{&#)Ul&zr`DgZqk(Kgxsr-!Hg`a;XE$qptc zs5)R?=qA(&_op-cXMmto=NU9N)Xy{B4X_S?ZYSuc6@2_}k3K&vr*M(7o>_je`bD&0 z%FqaLSyYLna#R%vR5ISj{alfs;Ns&LmB1YA5 zUE!nk8iSA-vvi?I+t_~kL?)S_BOJ^$`Gp%ZJ6TSOJN^g-8%ESGgYzox`_4g%e>MiZ z!O!}mS;RgSyQaEuGw{sUvUp&!y7p zPp#!H8!*U#Hp`4dRy5Y5n4y>wKfsE3hw6gu0^WeAHo8HPV zt+-7vyY5@3XI_dz#l?&d&Eo@Jid!Dz1%vZ}uQ~cj z3MzZjx7LWdggln`;exrjqEq2m%2sA1v&kuSB+xB*ofIQL60+-sF{hMBX+$YPn$tWn zt~Q%^t>-gv`X}^`l3&eJORs^T>9y>?E3AcG?`P5L*WF&ano4bi{x_P>j64JNj$pz< z79ZT3l7K5yJ|Wm(N5#U+e?zw?s;-F?gfPuZaZRM$#gvPw)oT0pzDyaEZseT z41)w0vs;>)zmhMVL?n zMooy2JFo`N%)%+}U{;zT_tQ-_27H4497Hg$RKzcl{998lj=IEn*_M~kNY7xyt2fxU z#+D+ldW*cVMM9_mG`8gRw!Xh^EwS>goO*nbKcjl0k7svYi+=iA{W~d-9q9J7&HH6O zGWA#3o6Q*qX~^PjbTMAYJ)(P-DC~s}r29+-MZFhi8x_NA;s%Ge5;ZQOgd4=R#Dsme z0Fg5P*xGLQo`O{l6h4_hPeO+$S6IqJ3d;QGIr?3Q(MbCoQ7H2?eX~nNllP=Ww!!$|cX+ z8RVGAoPy8`9ac7}|2!CdDDLc+-#=oyG;Hbib(r;;j%T9d=|Mi?n>svh_D*Aztq&Hf z<%FAQdZYdUoEA0n{*YF|lOYMhk%&kr52oaaBx192yOFJ!H;pX=(E;mc^~?Mi$`I_l zR$Xd1s(2TN?>(UU+DR%Ip_NQa0O20^_NM9xgC{jCI;!NgHZ7S2@^Ptg%gM_s_ zb7o!1N_zLXc?XIlaAt6qH+|UmKmXn6_&f_2CbT7ruQcr-r;63mHD>Q zoKCq1J}=hO>w=uMgUmR{2K7=%Eu?X?5bVPk#qy2EV8$Y+A}1neBF7`Aag*6NsTiqx zLYpHPRHMrzHj8ZM+i-NjHpn)MH;Ok+H%vE2o8#@{ZR3@~(y8-kOr08K##PIVV{2dp zY4{V5ayo}U%{+`>36*AYY;#|e^T}6^F!;uRRGze^hwi}Tff1#ye_yN(B5N-?WWS;& z(`RRBj=bUASfJccq5ei$`7w(?9Lz1Ddo2V&B4**2tU_RfHRX(}QA&@W|CmHDlp>Au z{_44Qu)DmEq+vV}TO<_(;_#D5k-c%;w69 zEu1kGxYhYUUg-ex_nWRg_Lp6>DpMIo!|<47kG%rBNF`r`2 zOvL?*KV9ac9yb|#TsBv#O@lAi8i~fW{d?u@0kzNDSFOLwx`gMlb+<>*Nl_2*H+~E& zah6p)h1|3PnT1#~jzbVz2)sL;1D0C8u~jtEQJqtfIbAX6r~igUyDjrv?*`$ zQ#QWR)+C3N#5e{kHFh52XG_)%`J{M-ozbWqz4iNIYodWECL?l^EW{F0yzXv0 zn~ruQD(LoVd;s@p^fTJ+)wtdOB(-<4p?sPdrcF_7mJ*8+#ao;HveLsD#O+AzJiCFDv86#Ig9_Dsx;d>IiYVj zC70ITKwtm-cxN_QPwECx`;^do2Whf%6?^wB*?eGKCU~0_FNr0kbZS9qnZS36`kaZ+ z%{RjHZ+CsBC7TNU%MPv&<-X*oG4r~{-6h&ZM+S}$R?(eujnX4tG~icP9J?yisqNEu zR${d3J2?n9oZ3BXcUK_)VGXt@5mz#4*#%<3AI_OIqgnTfN-hDAX`%~1?1I`TP%X%u zZwma<3ej!w#g#-`b3Hgh_H#~MRJunLXDz>2v@08a#7vUY)?pq!CivV-niJvVngXu2l zZ8A;H!$w9XSLcv+pCed5d)UBHGNGxZkd^b(kV&gS!=Phe-`z`-=fXM+Y}BtcRKZ0d zce-U@Kh>Tn{K9QKR$=*Z25_y z;!OD6)>SI-jTQ?${%z&4V&7DuV~wn84BRPAQdK;nr@pW8k&gg-HG`+mOampskV>+1CF9su1jZ=*fQ z{|Ll?vnX+Hr8Jo!;x~txe)-hk&ZT_!54V5sMi{>SH1nv^O?mB#eHR8_J(tCC4L*%U7;8X-OEog#k~ulQ!Yp!6S;jyIV05H_(r$ z?pFnb=5Enp=-8+$yj#C!e)Hwt+rK#S9fR#5P8Rf(bbTtg_2JHj~vT#gE%7uiJQ)^)^Ln#!&O^~zyy zVaOS&@V6_h@78LS@ye*>Cx1_-SQVZeM?eh_sixxAnDs79I14MN!G`E-*Dmh=mWOIk zSzv#_D^F-axZ<$)^swne?cd$N_lSQaO_;)#`Rr-%J3+jAhT`Jd1`>N6^ z==;{)RSbLT%q9flt6h55tcG6cc~JMR zM6%O2sjlF>v-s?JjiJI5zEK$XniJLa*RPW7rQs5h4ykLSf1es$)){RyztsT#su}hB zc2DHNjgpbzU9@VW6>s!do;kca%XGZ?SSK2dsS&nnQ>RgV<9k@J(+CC+AM&RjmbvSvnaqyO;WrnsiGgV45h37Z6|f^1II$;XjW{#K7;6 zstuQr^I#6?dV+%|$zJS?L7c_fVOUPOaItXhY#VY$A@gb8`Hv_4Z>j~u zPr7p^GlO7Dw67Czik%RW(figatG@|fnHxdgYV?Pcis5=y*EEJr!+}dvZHy8PX2BtM za$35-r&5|=-Eaj$Qn}NR8=8vo`%1@ICYK8$Iia)*dUa%yne$W7;=^5|lGuGs1S=XY zekU%On9ZenVWJsYX1|>vq9`!LUvKE4ckCok_o@!4ams1k&1usU#?|_s+3N0JDuQa{ zTU;Ok{2MhHHTTLrBjC-Dd#odA(hwni>bO2Ak=7wwui(1;-*fH{#X_^Wcr2$^mky!{ z?r?s=(dMxS9sc%4lMIc!j-HHd)mMB2#`F@aIo@K5TQz*^+-&dgd@{)ZOv|MC8hAO3F7hpR!MKls643LH!2J1K% z05WF6Y7DD%xq!J9^R3CAx>N~%ECyc<#y0ok0xUT1kF<(0Y=nE}UPA1OFCESZyAuCT z=Oe@C*(0RTwESmjcq}J?Rufed$>wnLjJ9JE%)K_O_xc6u{%LGN;NyYYjh4{=OP(;z zHas69geUo5xV1k|ghQIfvu>QZj6Ey^Q|k$ZDJq-BXND^&2Pti}@=j@cFB~8-Ll8mTHxmPpPcZO(6K% zQjFIaPr1jRBc|~!;hDvzsmBB9@izGu#ii56`B)C`&|0`60f;f(Wn1T(?{_S`6R#g6 z)#5wfuBIv-{~lVMWe+yCx)%)}rKC%N?(M)U+qxSydRgtAnJDJw11-9^U%QBd%C;=M zs3TMWhK;B_z3_4jzG~4mS9$o6_F4u^U0(^F)H_zd2L?G&*8Y1fXy3OQr z`N5_*zezD`)YW#)ETuL1{M@f7i36;is$$lB;)`TSHjhFd<#W_K`uj^yo*q|9kq#3l zyvjNS8dpI*0+tm6s-lFVIKZLJ@H312s?NEKm))K%)?x`81vY zPL18a6}P`pB}O0jlH?2U+9t2eT)ZrC5j2?1t3B#noM17S4nUxC`;MOial0m{n`93Y zps8IO+h(9dHTcwPK@pr>HeqMT78JyiP!@wrXBt!(N&q=n%{!}b!9%;;cSh3T{D=BNTw2guBN%^_9jF&)u2BN zS_k7t`LdD^oINCrTi=W!BvDnKUwc5`7+pgWwK`4e~=!4 z^tw`m)p-26FyOIf#!AL<{0_+(66K1lMyye*8If-RFN##L2jgQV)$GU(?jx`Td{HS(BGmaU_w ztIf$Z2E@~TCDy%pG)Q0%0R&|Z(a+KSNq$1GKy2w?hjhTnKIGmw*=e0DG zXtdHZ);FkYPMBjhwv=?O*#xrKTKnGyf!SIo=0Ly8PF5Y6*haR%MQEnp*3!~cmnNao z{Z>Dk4RmnGYgyB6A=hAR)=Xv13KeG8Vw|n5Xgpz}o~cck#8yv9*U$|BBta7xTGFsI zL9pc_Awxh!U(Ju@Xlo=~t5l8EFcHcoG%!0L(~`ELyekomaU=9d?l22%^RkxP9hNA%yZH zkOfK>U8;r4HPd{|F#fo$C2<^yqvMoF{8J9eAK@ zUFsxK;(t+n(`L;m_0#P$<>nJye*DtI`{vw$F(vE0-+tRwUew~#;$6&5Kw2%~Sm7wE z=E?k|f}MqD;6At+lq=o(%?;*G0``pc^=+wQ6@L4R8ZNXGh-{1fAPVvr6v$``MgsK6 zkIVK*nu&Y@sUfdGsnM^X6qRPR&Xk$ATDofYZOM1AUb*+lz=-=#C{mPVp;nUpWqXQ_ zCgtzqO^>esjbpEFmM~Gj9)x&(ZlIm{;CJl&FzDnp_|qDq#}=(Mn%wJ`$M|_EcjwLf z$|NgTe6%PJxKQNyE{ME=m=II=ZF9|JIYtm;C&n{wmd5jrne)BUQ4sqxOTHx}A&(^V zD!W)yc;_bx5tCtmW02{8Bz@3?b*+kgNskj#zkY_ooIR)LMUY&3BbQb}CY-rd1D)(VL; z%6E7a^>tMB%6D|K{xaid+ae1zvIb>G`F?^5!Y|J9~Yoxd)o49 z;;FtR$Nv~LrX?+>)D)GBV^ed4CX_kEOkGFy2p{l~`iMoY()&=qGE&5*wCkrPbq2Qs zc$BhrvJ1?KOKOd*$y-v9Y{^T0GMWTrEh*g8ztvRL2$`0ZRbyjR-T8m3H0C6kr)>T5 z3~+N~*0G`5^$y(v&;2zpz6}b&@8is^BR(!Fixm@@h-H>UD@#jLSzz|%qpB#Q!%b6K z0-=;BOHCsvd7?n>T06h6bvBemOsi82j1$N;vxg`BIK^C-A$@?0N0noz2?z{2BNv(_ zKMqg&aOk&NiT3UwRn3b$a)*cU={PZ>;R-qOI7FXg`wJm^Vq|hP!Z0@pyClaGNM4Sg zJ?(MJD0>9~kypUR+=C)KyQskfliYtJpO``gqBHFsy)_@k|ZyqDjks`E>pxWA*-i!L_=;& z6bU_Zn=+)risi)Qh*cfJKyx5BZeXO( z2^siOmX#;zpozx`44xN{iMkRE0xwNKK`T0CGM@7Y_h6#_9(FQ6e3acH(M9bKD7}`u@HT z{vsYFe%|eb#b-~B@Ky)@izog6l8j^BpN{A_{%Zm9+CjS>SPuQCtlEBb&GqkiWy4D=lMGIrh5B(Pcu+qr=Z zQM$QGdfnia!bdA`u{I;T8R=LomxX?w@sNWgYa1Ej2fFHvGEOT>V=1wYvK8&JLZx4m z2oE@Qs1WEY1(3jA&b|s<@E(FVpAi-*&t)dXDoQVf77A5| z(H_vX%zQ@5WTXmG36hNDp8$KRWo4v>qYbtNw!I=oaE-*0AQA-g78sE{hb%Mp6Y+24 zJgLbb0W#=!0Qk4n2?7SsO+P`7CsAb)hR!V5eUMioS!hks?>)%I9a8@I-awat64(sy zmj>>giDfF&TC~u)BAgz5x16?`M|etmY|osr{3eJJ(fDBfQ^hqV zjXiatF9waHoL|kwlVI~%2E_`tp%E@BF`IVGk?U#yujQ5z+QvzZrunUwksGb`&k`Vf zTgxb*e4yzmKbo7nlM$%;Q}$BWUV;I7!tSXLyK@~}Ys{iHcCy}kbah@17bvffJ( z^NnrFo}9FS*1=8CVA8SSd8kXL#~1@lB%Xenm2W9`7&L0wP>V6Gk1?k(XxLXjonVe-5nB`G$9n zc_wlqnKjX&@|6e$t8ExtsRgnMRHaWRo&4j*P@R2k?x-Q|sow2ABv9jR3v&g^Z^Ue= z&bC)_f`qOnZB48AXY~T7v_=<6tT<`qP1PFnmr2jV#E+ zskM~=d7+|ux5<#WWWNd{#9i>{e|>2FM+1F%rO;r#VSRVsof8Ru4Q^N}PpuLdTMLH> zddy7?!^R(%u@EdSxWDCh zs?HwSI&j-O51U(}U05f_n?s|U6OM;;caBSch~TybGvuHD=b+u`xjC@(}+`i{r$J+ zn&x`rg89o5G9`o+PlZ~DiZrp^V0H3!+C+~jQ~FoTz0xYjlKxVyqHW_+P5-|}j7Ha_ zWmHd3j5fYuir!+c(}?=^bRO!|xD^v}dcwE{H<SV1Ap-2aXjwK_X;;|!IS17(em%zQOy8&%NDA{)l*wb+uW`L^OSl2c%oIYmZ|G%t)%GAZ6{UL#0w~f2?sox~x`bvskFcCsrd281mm zlqn!yQYu11x};IHrLM=YZYdLJOX&-mQ`3?z%w7lrBhCH`AfBB}YEA_1^+PL@PuYg8 zzPM&UMu6YwF#U)$1I_1%qESruR3Ri}lS;xYB@<}`>q`a0*OVyvuXQRB;lRvG(!FHJ zqYs4uI1<&=;#lAD+t?r`d{)e>nTQ_yx#8W2V)y@}R+CmRgM+B2ZgL7qGa=hg9Ua#U z;S?OC2%ODBHN66vPoLNN9Yw@PEHNY5RUCvewg^WiX-%l)g)XZniCw*{EvscRygt22 z>F-P>^`Ho0KoFPaUXs@%=y&&W9E{CmI9o3Xu#r9^|4m0f5O{C4JFiY&@AM{EV=9}p zxV65XH~VTO!l=he_F)-L2Uz==1?>e9jZWU)8heUF@)il8kEI@6x-tw*QOe$B-X7w2 zn7#D73ja+#%J2O7bHYT#Fj_M1DmS`v>um_3pVMEyd-?|leC)Bw$LCg%Mc~cp)`Hg> z*a7Dzb|+j|YN*d0c8em1IXvam>8RrF?_(nr%F@?ciNPLCFNT-b(u5l<{6t^DKxWaK zKAC(Yb^P|~x&2ErDkWxs93U>3XRt#3o4*Bo{*STZWyG)4qRu0W-ca9fom(@`Jf(!N zqQ&&RtQaFek=IXf(l&@k)sUTfWT#Z>g}UD^t#iIcWG9fCL-_e|bYne=jxjWS zY;}u`5w%N?G22_FY3H(ht|!-&Nvq#q|FS@qKE34B z_v_*4^!WenMV06Sac#ES&80^ZbmwXx+wFH$;Cxle!@Cn%U%PEvpHZrIDP{leggfV& zCjQagZjMl&#(SxzRkGj z;AFcN9Y@Pl0}FE#lN3Xvq@*Ov6mwJaq+}!06jMXP#1tcwq(nO#0xBl2ZgEGwJxuk2 zwVzX>fWt#c0TQ)k_`wR$F>l9pb$dSrGlV~4X?Q2_@h zhZD=T1nDvbF6j;2^@bi!T;CK}eotuQk#UgY5@_?)aAH5VfMt0BOX`XPhI1T5vjW=L zDlW8$ZFv}U+53CPn|9^zk2QGSe6rU47j<{V_dL^p{KTul^=YPI^{J(+*Vl*nTg}}O xdO80%aH?NE%R~;wmmlEGnreN=@V9F*Y-?G~-fLb@g}S0sue=;$;8; diff --git a/targets.yaml b/targets.yaml index 88de8c5..ce3478c 100644 --- a/targets.yaml +++ b/targets.yaml @@ -1,41 +1,10 @@ targets: - - vendor: "Apache" - product: "Tomcat" - version: "9.0.119" - - - vendor: "Apache" - product: "Tomcat" - version: "11.0.23" - - - vendor: "Jenkins" - product: "Jenkins" - version: "2.504.3" - - - vendor: "GoHarbor" - product: "Harbor" - version: "2.11.0" - - vendor: "Oracle" product: "Openjdk" - version: "21.0.21" - - - vendor: "Oracle" - product: "Openjdk" - version: "1.8.0" + version: "21" - vendor: "GitLab" product: "GitLab CE" version: "19.1.1" - - vendor: "Nginx" - product: "Nginx" - version: "1.30.3" - - - vendor: "Apache" - product: "Artemis" - version: "2.54.0" - - - vendor: "Jasper" - product: "JasperReports" - version: "10.0.0"