CVE-2026-108390

Estado: AplazadaCrítica (9.9)—
Gravedad9.9Crítica · CVSS 3.1
Probabilidad de explotación0.68 %mayor que el 51 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

Hestia Control Panel es un panel de control ligero y potente para la web moderna. Desde la versión 1.9.7 hasta la 1.10.4, update_object_value() en func/main.sh no escapa las comillas simples al escribir un valor personalizado de document-root en el archivo web.conf de un usuario, lo que permite que un usuario del panel autenticado con pocos privilegios y con un dominio web inyecte un campo PATH adicional.

Leer descripción completaMostrar menos

Cuando el usuario utiliza la función ordinaria de búsqueda, el script v-search-user-object, que se ejecuta con privilegios de root, carga el campo falsificado mediante parse_object_kv_list_non_eval(), la cual permite nombres de variables reservadas de shell y reemplaza globalmente PATH antes de invocar column sin una ruta absoluta. Al colocar un ejecutable column malicioso en la ruta de búsqueda inyectada, el usuario puede ejecutar código arbitrario como root. Esta vulnerabilidad residual se introdujo cuando la versión 1.9.7 sustituyó el sumidero eval sin procesar abordado por CVE-2026-84984 por parse_object_kv_list_non_eval(), y está corregida en la versión 1.10.5.

Traducción automática del texto original de NVD (en inglés).

CVSS

Puntuación base
9.9
Versión
3.1
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Probabilidad de explotación (EPSS)

Probabilidad de explotación en los próximos 30 días
0.68 %
Percentil entre todas las CVEs puntuadas
51
Fecha de la puntuación
20/10/2026

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Vector AV:N/PR:L/UI:N implica explotación remota con privilegios bajos (T1210); el texto describe inyección en web.conf y secuestro de PATH que ejecuta código arbitrario como root.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

CWE

Referencias

Mostrar las 4 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-108390",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-108390",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-14T17:49:42.111046Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "CHANGED",
          "version": "3.1",
          "baseScore": 9.9,
          "attackVector": "NETWORK",
          "baseSeverity": "CRITICAL",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 6,
        "exploitabilityScore": 3.1
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "hestiacp",
          "product": "hestiacp",
          "versions": [
            {
              "status": "affected",
              "version": ">= 1.9.7, < 1.10.5"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-14T18:17:27.180",
  "references": [
    {
      "url": "https://github.com/hestiacp/hestiacp/commit/4d86018660f35a1d64a0ae819bc5ee700949a287",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/hestiacp/hestiacp/security/advisories/GHSA-r9q4-pmcm-5qqf",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://ravindulakmina.pages.dev/advisories/cve-2026-108390-hestiacp-apostrophe-to-root",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/hestiacp/hestiacp/security/advisories/GHSA-r9q4-pmcm-5qqf",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-88"
        },
        {
          "lang": "en",
          "value": "CWE-94"
        },
        {
          "lang": "en",
          "value": "CWE-427"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Hestia Control Panel is a lightweight and powerful control panel for the modern web. From version 1.9.7 through 1.10.4, update_object_value() in func/main.sh does not escape single quotes when writing a custom document-root value to a user's web.conf file, allowing a low-privileged authenticated panel user with a web domain to inject an additional PATH field. When the user invokes the ordinary Search feature, the root-privileged v-search-user-object script loads the forged field through parse_object_kv_list_non_eval(), which permits reserved shell-variable names and globally replaces PATH before invoking column without an absolute path. By placing a malicious column executable in the injected search path, the user can execute arbitrary code as root. This residual vulnerability was introduced when version 1.9.7 replaced the raw eval sink addressed by CVE-2026-84984 with parse_object_kv_list_non_eval(), and it is fixed in version 1.10.5."
    }
  ],
  "lastModified": "2026-10-16T20:04:29.760",
  "sourceIdentifier": "security-advisories@github.com"
}