« Volver al listado

CVE-2026-44885

Estado: AnalizadaMedia (5.5)—

Portainer Community Edition is a lightweight service delivery platform for containerized applications that can be used to manage Docker, Swarm, Kubernetes and ACI environments. From 2.33.0 to before 2.33.8, Portainer's backup restore feature accepts a .tar.gz archive and extracts it to a target directory on the server. The extraction function (ExtractTarGz in api/archive/targz.go) constructed output paths using filepath.Clean(filepath.Join(outputDirPath, header.Name)). This combination does not prevent directory traversal — a tar entry named ../../etc/cron.d/evil resolves to a path outside the extraction root, so a crafted archive can write files to arbitrary locations on the server filesystem. This vulnerability is fixed in 2.33.8.

CVSS

Probabilidad de explotación (EPSS)

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).

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-44885",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-44885",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-05-29T19:08:51.068303Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:L",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "LOW",
          "privilegesRequired": "HIGH",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 4.2,
        "exploitabilityScore": 1.2
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "portainer",
          "product": "portainer",
          "versions": [
            {
              "status": "affected",
              "version": ">= 2.33.0, < 2.33.8"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-05-28T22:16:59.803",
  "references": [
    {
      "url": "https://github.com/portainer/portainer-suite/pull/1875",
      "tags": [
        "Broken Link"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/portainer/portainer/security/advisories/GHSA-m8fg-67j7-cx4v",
      "tags": [
        "Exploit",
        "Third Party Advisory"
      ],
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Portainer Community Edition is a lightweight service delivery platform for containerized applications that can be used to manage Docker, Swarm, Kubernetes and ACI environments. From 2.33.0 to before 2.33.8, Portainer's backup restore feature accepts a .tar.gz archive and extracts it to a target directory on the server. The extraction function (ExtractTarGz in api/archive/targz.go) constructed output paths using filepath.Clean(filepath.Join(outputDirPath, header.Name)). This combination does not prevent directory traversal — a tar entry named ../../etc/cron.d/evil resolves to a path outside the extraction root, so a crafted archive can write files to arbitrary locations on the server filesystem. This vulnerability is fixed in 2.33.8."
    },
    {
      "lang": "es",
      "value": "Portainer Community Edition es una plataforma ligera de entrega de servicios para aplicaciones en contenedores que puede utilizarse para gestionar entornos Docker, Swarm, Kubernetes y ACI. Desde la versión 2.33.0 hasta antes de la 2.33.8, la función de restauración de copias de seguridad de Portainer acepta un archivo .tar.gz y lo extrae a un directorio de destino en el servidor. La función de extracción (ExtractTarGz en api/archive/targz.go) construía rutas de salida utilizando filepath.Clean(filepath.Join(outputDirPath, header.Name)). Esta combinación no evita el salto de directorio — una entrada tar llamada ../../etc/cron.d/evil se resuelve en una ruta fuera de la raíz de extracción, por lo que un archivo malicioso puede escribir archivos en ubicaciones arbitrarias del sistema de archivos del servidor. Esta vulnerabilidad se corrige en la versión 2.33.8."
    }
  ],
  "lastModified": "2026-07-21T10:10:00.103",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:portainer:portainer:*:*:*:*:community:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "4E7FE81D-D489-4034-9DB4-D48E3B6C3CE4",
              "versionEndExcluding": "2.33.8",
              "versionStartIncluding": "2.33.0"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "security-advisories@github.com"
}