2026-09-27 1:28CVE-2025-71424VulnCheck
PUBLISHED5.2CWE-693

Edgeless Systems Contrast before 1.9.1 Insecure Volume Mount

Contrast, Edgeless Systems' runtime for confidential containers on Kubernetes, is affected in versions up to and including 1.9.0. The VOLUME directive in a Dockerfile (config.volumes in the OCI image configuration) is only a hint and is not handled specially by Kubernetes, but containerd adds a mount point for it when Kubernetes sets none, requiring the runtime to be able to push arbitrary data to the Kata agent. As a result, on bare-metal Contrast deployments (AKS deployments are not affected) that run an image declaring at least one VOLUME for which no Kubernetes mount exists at that path, the untrusted host can write arbitrary file trees below that mount point inside the confidential container, compromising the integrity of a directory that is typically important to the application's core functionality. Version 1.9.1 fixes the issue by disallowing this configuration in `contrast generate`.

Problem type

Affected products

edgelesssys

contrast

< 1.9.1 - AFFECTED

1.9.1 - UNAFFECTED

References

GitHub Security Advisories

GHSA-4585-2273-g8cw

Contrast, Edgeless Systems' runtime for confidential containers on Kubernetes, is affected in...

https://github.com/advisories/GHSA-4585-2273-g8cw

Contrast, Edgeless Systems' runtime for confidential containers on Kubernetes, is affected in versions up to and including 1.9.0. The VOLUME directive in a Dockerfile (config.volumes in the OCI image configuration) is only a hint and is not handled specially by Kubernetes, but containerd adds a mount point for it when Kubernetes sets none, requiring the runtime to be able to push arbitrary data to the Kata agent. As a result, on bare-metal Contrast deployments (AKS deployments are not affected) that run an image declaring at least one VOLUME for which no Kubernetes mount exists at that path, the untrusted host can write arbitrary file trees below that mount point inside the confidential container, compromising the integrity of a directory that is typically important to the application's core functionality. Version 1.9.1 fixes the issue by disallowing this configuration in contrast generate.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2025-71424
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2025-71424",
    "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
    "assignerShortName": "VulnCheck",
    "dateUpdated": "2026-09-27T01:28:26.587Z",
    "dateReserved": "2026-09-27T00:18:22.540Z",
    "datePublished": "2026-09-27T01:28:26.587Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "shortName": "VulnCheck",
        "dateUpdated": "2026-09-27T01:28:26.587Z"
      },
      "datePublic": "2025-07-09T00:00:00.000Z",
      "title": "Edgeless Systems Contrast before 1.9.1 Insecure Volume Mount",
      "descriptions": [
        {
          "lang": "en",
          "value": "Contrast, Edgeless Systems' runtime for confidential containers on Kubernetes, is affected in versions up to and including 1.9.0. The VOLUME directive in a Dockerfile (config.volumes in the OCI image configuration) is only a hint and is not handled specially by Kubernetes, but containerd adds a mount point for it when Kubernetes sets none, requiring the runtime to be able to push arbitrary data to the Kata agent. As a result, on bare-metal Contrast deployments (AKS deployments are not affected) that run an image declaring at least one VOLUME for which no Kubernetes mount exists at that path, the untrusted host can write arbitrary file trees below that mount point inside the confidential container, compromising the integrity of a directory that is typically important to the application's core functionality. Version 1.9.1 fixes the issue by disallowing this configuration in `contrast generate`."
        }
      ],
      "affected": [
        {
          "vendor": "edgelesssys",
          "product": "contrast",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "1.9.1"
            },
            {
              "version": "1.9.1",
              "status": "unaffected",
              "versionType": "semver"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "Protection Mechanism Failure",
              "cweId": "CWE-693",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/edgelesssys/contrast/security/advisories/GHSA-phhq-63jg-fp7r",
          "name": "GitHub Security Advisory (GHSA-phhq-63jg-fp7r)",
          "tags": [
            "vendor-advisory"
          ]
        },
        {
          "url": "https://www.vulncheck.com/advisories/edgeless-systems-contrast-before-1.9.1-insecure-volume-mount",
          "name": "VulnCheck Advisory: Edgeless Systems Contrast before 1.9.1 Insecure Volume Mount",
          "tags": [
            "third-party-advisory"
          ]
        }
      ],
      "metrics": [
        {
          "format": "CVSS"
        },
        {
          "format": "CVSS",
          "cvssV3_1": {
            "version": "3.1",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
            "attackVector": "ADJACENT_NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "LOW",
            "userInteraction": "NONE",
            "scope": "UNCHANGED",
            "confidentialityImpact": "NONE",
            "integrityImpact": "LOW",
            "availabilityImpact": "NONE",
            "baseScore": 3.5,
            "baseSeverity": "LOW"
          }
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "burgerdev",
          "type": "finder"
        },
        {
          "lang": "en",
          "value": "katexochen",
          "type": "finder"
        },
        {
          "lang": "en",
          "value": "thomasten",
          "type": "finder"
        }
      ]
    }
  }
}