« Volver al listado

CVE-2026-77118

Estado: AplazadaAlta (8.4)—

A heap out-of-bounds write exists in the Photo CD (PCD) decoder of GraphicsMagick. In DecodeImage() (coders/pcd.c), the Huffman delta loop advances its output pointer with q++ after every decoded delta and never checks it against the end of the heap-allocated luma/chroma plane buffers. The pointer is repositioned only when a sync marker introduces a new plane/row; between sync markers the run length is bounded solely by the input.

A crafted PCD file that positions the pointer near the end of a plane and then supplies a long run of deltas with no intervening sync therefore walks the pointer past the end of the allocation and writes through it.

Leer descripción completaMostrar menos

Processing an untrusted PCD file — for example with gm convert or gm identify, or through any application linked against libGraphicsMagick — can corrupt heap memory beyond the buffers.

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

🎯 Técnicas ATT&CK

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

Requiere interacción del usuario (UI:A) para procesar un archivo PCD manipulado; heap overflow sin cambio de control de flujo explícito genera corrupción de memoria que puede viabilizar ejecución de código.

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

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-77118",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-77118",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-08-26T19:42:13.414822Z"
        }
      }
    ],
    "cvssMetricV40": [
      {
        "type": "Secondary",
        "source": "22e2d327-25fe-45d7-9f0c-dcd23b7108df",
        "cvssData": {
          "Safety": "NOT_DEFINED",
          "version": "4.0",
          "Recovery": "NOT_DEFINED",
          "baseScore": 8.4,
          "Automatable": "NOT_DEFINED",
          "attackVector": "LOCAL",
          "baseSeverity": "HIGH",
          "valueDensity": "NOT_DEFINED",
          "vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "exploitMaturity": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED",
          "userInteraction": "ACTIVE",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "NONE",
          "subIntegrityImpact": "NONE",
          "vulnIntegrityImpact": "HIGH",
          "integrityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "subAvailabilityImpact": "NONE",
          "vulnAvailabilityImpact": "HIGH",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "subConfidentialityImpact": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "confidentialityRequirement": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED"
        }
      }
    ]
  },
  "affected": [
    {
      "source": "22e2d327-25fe-45d7-9f0c-dcd23b7108df",
      "affectedData": [
        {
          "cpes": [
            "cpe:2.3:a:graphicsmagick:graphicsmagick:*:*:*:*:*:*:*:*"
          ],
          "repo": "https://foss.heptapod.net/graphicsmagick/graphicsmagick",
          "vendor": "GraphicsMagick Group",
          "modules": [
            "PCD / PCDS image coder"
          ],
          "product": "GraphicsMagick",
          "versions": [
            {
              "status": "affected",
              "version": "1.0.0",
              "lessThan": "1.3.48",
              "versionType": "semver"
            }
          ],
          "platforms": [
            "Linux",
            "Windows",
            "macOS"
          ],
          "programFiles": [
            "coders/pcd.c"
          ],
          "defaultStatus": "unaffected",
          "programRoutines": [
            {
              "name": "DecodeImage"
            }
          ]
        },
        {
          "cpes": [
            "cpe:2.3:o:debian:debian_linux:11:*:*:*:*:*:*:*",
            "cpe:2.3:o:debian:debian_linux:12:*:*:*:*:*:*:*",
            "cpe:2.3:o:debian:debian_linux:13:*:*:*:*:*:*:*"
          ],
          "vendor": "Debian",
          "product": "graphicsmagick",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "1.4+really1.3.48-1",
              "versionType": "deb"
            }
          ],
          "packageName": "graphicsmagick",
          "collectionURL": "https://packages.debian.org",
          "defaultStatus": "unaffected"
        },
        {
          "cpes": [
            "cpe:2.3:a:fedoraproject:extra_packages_for_enterprise_linux:8.0:*:*:*:*:*:*:*",
            "cpe:2.3:a:fedoraproject:extra_packages_for_enterprise_linux:9.0:*:*:*:*:*:*:*"
          ],
          "vendor": "Fedora Project",
          "product": "GraphicsMagick",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "1.3.48",
              "versionType": "rpm"
            }
          ],
          "packageName": "GraphicsMagick",
          "collectionURL": "https://dl.fedoraproject.org/pub/epel",
          "defaultStatus": "unaffected"
        }
      ]
    }
  ],
  "published": "2026-08-20T13:19:07.077",
  "references": [
    {
      "url": "https://foss.heptapod.net/graphicsmagick/graphicsmagick/-/commit/937cdd9920bd96",
      "source": "22e2d327-25fe-45d7-9f0c-dcd23b7108df"
    },
    {
      "url": "https://foss.heptapod.net/graphicsmagick/graphicsmagick/-/raw/GraphicsMagick-1_3_48/ChangeLog",
      "source": "22e2d327-25fe-45d7-9f0c-dcd23b7108df"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "22e2d327-25fe-45d7-9f0c-dcd23b7108df",
      "description": [
        {
          "lang": "en",
          "value": "CWE-787"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "A heap out-of-bounds write exists in the Photo CD (PCD) decoder of GraphicsMagick. In DecodeImage() (coders/pcd.c), the Huffman delta loop advances its output pointer with q++ after every decoded delta and never checks it against the end of the heap-allocated luma/chroma plane buffers. The pointer is repositioned only when a sync marker introduces a new plane/row; between sync markers the run length is bounded solely by the input.\n\n\n\nA crafted PCD file that positions the pointer near the end of a plane and then supplies a long run of deltas with no intervening sync therefore walks the pointer past the end of the allocation and writes through it. Processing an untrusted PCD file — for example with gm convert or gm identify, or through any application linked against libGraphicsMagick — can corrupt heap memory beyond the buffers."
    }
  ],
  "lastModified": "2026-09-09T15:52:04.827",
  "sourceIdentifier": "22e2d327-25fe-45d7-9f0c-dcd23b7108df"
}